From: Nikolay Sivov nsivov@codeweavers.com
Signed-off-by: Nikolay Sivov nsivov@codeweavers.com --- dlls/d3d10/effect.c | 127 ++++++++++++++++++++++---------------------- 1 file changed, 63 insertions(+), 64 deletions(-)
diff --git a/dlls/d3d10/effect.c b/dlls/d3d10/effect.c index a9c8eaed5e8..38dd1c874ae 100644 --- a/dlls/d3d10/effect.c +++ b/dlls/d3d10/effect.c @@ -426,7 +426,6 @@ static void d3d10_effect_clear_prop_dependencies(struct d3d10_effect_prop_depend
struct d3d10_effect_state_property_info { - UINT id; const char *name; D3D_SHADER_VARIABLE_TYPE type; UINT size; @@ -438,69 +437,69 @@ struct d3d10_effect_state_property_info
static const struct d3d10_effect_state_property_info property_infos[] = { - {0x00, "Pass.RasterizerState", D3D10_SVT_RASTERIZER, 1, 1, D3D10_C_PASS, FIELD_OFFSET(struct d3d10_effect_pass, rasterizer) }, - {0x01, "Pass.DepthStencilState", D3D10_SVT_DEPTHSTENCIL, 1, 1, D3D10_C_PASS, FIELD_OFFSET(struct d3d10_effect_pass, depth_stencil) }, - {0x02, "Pass.BlendState", D3D10_SVT_BLEND, 1, 1, D3D10_C_PASS, FIELD_OFFSET(struct d3d10_effect_pass, blend) }, - {0x03, "Pass.RenderTargets", D3D10_SVT_RENDERTARGETVIEW, 1, 8, D3D10_C_PASS, ~0u }, - {0x04, "Pass.DepthStencilView", D3D10_SVT_DEPTHSTENCILVIEW, 1, 1, D3D10_C_PASS, ~0u }, - {0x05, "Pass.Unknown5", D3D10_SVT_VOID, 0, 0, D3D10_C_PASS, ~0u }, - {0x06, "Pass.VertexShader", D3D10_SVT_VERTEXSHADER, 1, 1, D3D10_C_PASS, FIELD_OFFSET(struct d3d10_effect_pass, vs.shader), - FIELD_OFFSET(struct d3d10_effect_pass, vs.index) }, - {0x07, "Pass.PixelShader", D3D10_SVT_PIXELSHADER, 1, 1, D3D10_C_PASS, FIELD_OFFSET(struct d3d10_effect_pass, ps.shader), - FIELD_OFFSET(struct d3d10_effect_pass, ps.index) }, - {0x08, "Pass.GeometryShader", D3D10_SVT_GEOMETRYSHADER, 1, 1, D3D10_C_PASS, FIELD_OFFSET(struct d3d10_effect_pass, gs.shader), - FIELD_OFFSET(struct d3d10_effect_pass, gs.index) }, - {0x09, "Pass.StencilRef", D3D10_SVT_UINT, 1, 1, D3D10_C_PASS, FIELD_OFFSET(struct d3d10_effect_pass, stencil_ref) }, - {0x0a, "Pass.BlendFactor", D3D10_SVT_FLOAT, 4, 1, D3D10_C_PASS, FIELD_OFFSET(struct d3d10_effect_pass, blend_factor) }, - {0x0b, "Pass.SampleMask", D3D10_SVT_UINT, 1, 1, D3D10_C_PASS, FIELD_OFFSET(struct d3d10_effect_pass, sample_mask) }, - - {0x0c, "RasterizerState.FillMode", D3D10_SVT_INT, 1, 1, D3D10_C_RASTERIZER, FIELD_OFFSET(D3D10_RASTERIZER_DESC, FillMode) }, - {0x0d, "RasterizerState.CullMode", D3D10_SVT_INT, 1, 1, D3D10_C_RASTERIZER, FIELD_OFFSET(D3D10_RASTERIZER_DESC, CullMode) }, - {0x0e, "RasterizerState.FrontCounterClockwise", D3D10_SVT_BOOL, 1, 1, D3D10_C_RASTERIZER, FIELD_OFFSET(D3D10_RASTERIZER_DESC, FrontCounterClockwise) }, - {0x0f, "RasterizerState.DepthBias", D3D10_SVT_INT, 1, 1, D3D10_C_RASTERIZER, FIELD_OFFSET(D3D10_RASTERIZER_DESC, DepthBias) }, - {0x10, "RasterizerState.DepthBiasClamp", D3D10_SVT_FLOAT, 1, 1, D3D10_C_RASTERIZER, FIELD_OFFSET(D3D10_RASTERIZER_DESC, DepthBiasClamp) }, - {0x11, "RasterizerState.SlopeScaledDepthBias", D3D10_SVT_FLOAT, 1, 1, D3D10_C_RASTERIZER, FIELD_OFFSET(D3D10_RASTERIZER_DESC, SlopeScaledDepthBias) }, - {0x12, "RasterizerState.DepthClipEnable", D3D10_SVT_BOOL, 1, 1, D3D10_C_RASTERIZER, FIELD_OFFSET(D3D10_RASTERIZER_DESC, DepthClipEnable) }, - {0x13, "RasterizerState.ScissorEnable", D3D10_SVT_BOOL, 1, 1, D3D10_C_RASTERIZER, FIELD_OFFSET(D3D10_RASTERIZER_DESC, ScissorEnable) }, - {0x14, "RasterizerState.MultisampleEnable", D3D10_SVT_BOOL, 1, 1, D3D10_C_RASTERIZER, FIELD_OFFSET(D3D10_RASTERIZER_DESC, MultisampleEnable) }, - {0x15, "RasterizerState.AntialiasedLineEnable", D3D10_SVT_BOOL, 1, 1, D3D10_C_RASTERIZER, FIELD_OFFSET(D3D10_RASTERIZER_DESC, AntialiasedLineEnable) }, - - {0x16, "DepthStencilState.DepthEnable", D3D10_SVT_BOOL, 1, 1, D3D10_C_DEPTHSTENCIL, FIELD_OFFSET(D3D10_DEPTH_STENCIL_DESC, DepthEnable) }, - {0x17, "DepthStencilState.DepthWriteMask", D3D10_SVT_INT, 1, 1, D3D10_C_DEPTHSTENCIL, FIELD_OFFSET(D3D10_DEPTH_STENCIL_DESC, DepthWriteMask) }, - {0x18, "DepthStencilState.DepthFunc", D3D10_SVT_INT, 1, 1, D3D10_C_DEPTHSTENCIL, FIELD_OFFSET(D3D10_DEPTH_STENCIL_DESC, DepthFunc) }, - {0x19, "DepthStencilState.StencilEnable", D3D10_SVT_BOOL, 1, 1, D3D10_C_DEPTHSTENCIL, FIELD_OFFSET(D3D10_DEPTH_STENCIL_DESC, StencilEnable) }, - {0x1a, "DepthStencilState.StencilReadMask", D3D10_SVT_UINT8, 1, 1, D3D10_C_DEPTHSTENCIL, FIELD_OFFSET(D3D10_DEPTH_STENCIL_DESC, StencilReadMask) }, - {0x1b, "DepthStencilState.StencilWriteMask", D3D10_SVT_UINT8, 1, 1, D3D10_C_DEPTHSTENCIL, FIELD_OFFSET(D3D10_DEPTH_STENCIL_DESC, StencilWriteMask) }, - {0x1c, "DepthStencilState.FrontFaceStencilFail", D3D10_SVT_INT, 1, 1, D3D10_C_DEPTHSTENCIL, FIELD_OFFSET(D3D10_DEPTH_STENCIL_DESC, FrontFace.StencilFailOp) }, - {0x1d, "DepthStencilState.FrontFaceStencilDepthFail", D3D10_SVT_INT, 1, 1, D3D10_C_DEPTHSTENCIL, FIELD_OFFSET(D3D10_DEPTH_STENCIL_DESC, FrontFace.StencilDepthFailOp)}, - {0x1e, "DepthStencilState.FrontFaceStencilPass", D3D10_SVT_INT, 1, 1, D3D10_C_DEPTHSTENCIL, FIELD_OFFSET(D3D10_DEPTH_STENCIL_DESC, FrontFace.StencilPassOp) }, - {0x1f, "DepthStencilState.FrontFaceStencilFunc", D3D10_SVT_INT, 1, 1, D3D10_C_DEPTHSTENCIL, FIELD_OFFSET(D3D10_DEPTH_STENCIL_DESC, FrontFace.StencilFunc) }, - {0x20, "DepthStencilState.BackFaceStencilFail", D3D10_SVT_INT, 1, 1, D3D10_C_DEPTHSTENCIL, FIELD_OFFSET(D3D10_DEPTH_STENCIL_DESC, BackFace.StencilFailOp) }, - {0x21, "DepthStencilState.BackFaceStencilDepthFail", D3D10_SVT_INT, 1, 1, D3D10_C_DEPTHSTENCIL, FIELD_OFFSET(D3D10_DEPTH_STENCIL_DESC, BackFace.StencilDepthFailOp) }, - {0x22, "DepthStencilState.BackFaceStencilPass", D3D10_SVT_INT, 1, 1, D3D10_C_DEPTHSTENCIL, FIELD_OFFSET(D3D10_DEPTH_STENCIL_DESC, BackFace.StencilPassOp) }, - {0x23, "DepthStencilState.BackFaceStencilFunc", D3D10_SVT_INT, 1, 1, D3D10_C_DEPTHSTENCIL, FIELD_OFFSET(D3D10_DEPTH_STENCIL_DESC, BackFace.StencilFunc) }, - - {0x24, "BlendState.AlphaToCoverageEnable", D3D10_SVT_BOOL, 1, 1, D3D10_C_BLEND, FIELD_OFFSET(D3D10_BLEND_DESC, AlphaToCoverageEnable) }, - {0x25, "BlendState.BlendEnable", D3D10_SVT_BOOL, 1, 8, D3D10_C_BLEND, FIELD_OFFSET(D3D10_BLEND_DESC, BlendEnable) }, - {0x26, "BlendState.SrcBlend", D3D10_SVT_INT, 1, 1, D3D10_C_BLEND, FIELD_OFFSET(D3D10_BLEND_DESC, SrcBlend) }, - {0x27, "BlendState.DestBlend", D3D10_SVT_INT, 1, 1, D3D10_C_BLEND, FIELD_OFFSET(D3D10_BLEND_DESC, DestBlend) }, - {0x28, "BlendState.BlendOp", D3D10_SVT_INT, 1, 1, D3D10_C_BLEND, FIELD_OFFSET(D3D10_BLEND_DESC, BlendOp) }, - {0x29, "BlendState.SrcBlendAlpha", D3D10_SVT_INT, 1, 1, D3D10_C_BLEND, FIELD_OFFSET(D3D10_BLEND_DESC, SrcBlendAlpha) }, - {0x2a, "BlendState.DestBlendAlpha", D3D10_SVT_INT, 1, 1, D3D10_C_BLEND, FIELD_OFFSET(D3D10_BLEND_DESC, DestBlendAlpha) }, - {0x2b, "BlendState.BlendOpAlpha", D3D10_SVT_INT, 1, 1, D3D10_C_BLEND, FIELD_OFFSET(D3D10_BLEND_DESC, BlendOpAlpha) }, - {0x2c, "BlendState.RenderTargetWriteMask", D3D10_SVT_UINT8, 1, 8, D3D10_C_BLEND, FIELD_OFFSET(D3D10_BLEND_DESC, RenderTargetWriteMask) }, - - {0x2d, "SamplerState.Filter", D3D10_SVT_INT, 1, 1, D3D10_C_SAMPLER, FIELD_OFFSET(struct d3d10_effect_sampler_desc, desc.Filter) }, - {0x2e, "SamplerState.AddressU", D3D10_SVT_INT, 1, 1, D3D10_C_SAMPLER, FIELD_OFFSET(struct d3d10_effect_sampler_desc, desc.AddressU) }, - {0x2f, "SamplerState.AddressV", D3D10_SVT_INT, 1, 1, D3D10_C_SAMPLER, FIELD_OFFSET(struct d3d10_effect_sampler_desc, desc.AddressV) }, - {0x30, "SamplerState.AddressW", D3D10_SVT_INT, 1, 1, D3D10_C_SAMPLER, FIELD_OFFSET(struct d3d10_effect_sampler_desc, desc.AddressW) }, - {0x31, "SamplerState.MipLODBias", D3D10_SVT_FLOAT, 1, 1, D3D10_C_SAMPLER, FIELD_OFFSET(struct d3d10_effect_sampler_desc, desc.MipLODBias) }, - {0x32, "SamplerState.MaxAnisotropy", D3D10_SVT_UINT, 1, 1, D3D10_C_SAMPLER, FIELD_OFFSET(struct d3d10_effect_sampler_desc, desc.MaxAnisotropy) }, - {0x33, "SamplerState.ComparisonFunc", D3D10_SVT_INT, 1, 1, D3D10_C_SAMPLER, FIELD_OFFSET(struct d3d10_effect_sampler_desc, desc.ComparisonFunc) }, - {0x34, "SamplerState.BorderColor", D3D10_SVT_FLOAT, 4, 1, D3D10_C_SAMPLER, FIELD_OFFSET(struct d3d10_effect_sampler_desc, desc.BorderColor) }, - {0x35, "SamplerState.MinLOD", D3D10_SVT_FLOAT, 1, 1, D3D10_C_SAMPLER, FIELD_OFFSET(struct d3d10_effect_sampler_desc, desc.MinLOD) }, - {0x36, "SamplerState.MaxLOD", D3D10_SVT_FLOAT, 1, 1, D3D10_C_SAMPLER, FIELD_OFFSET(struct d3d10_effect_sampler_desc, desc.MaxLOD) }, - {0x37, "SamplerState.Texture", D3D10_SVT_TEXTURE, 1, 1, D3D10_C_SAMPLER, FIELD_OFFSET(struct d3d10_effect_sampler_desc, texture) }, + { "Pass.RasterizerState", D3D10_SVT_RASTERIZER, 1, 1, D3D10_C_PASS, FIELD_OFFSET(struct d3d10_effect_pass, rasterizer) }, + { "Pass.DepthStencilState", D3D10_SVT_DEPTHSTENCIL, 1, 1, D3D10_C_PASS, FIELD_OFFSET(struct d3d10_effect_pass, depth_stencil) }, + { "Pass.BlendState", D3D10_SVT_BLEND, 1, 1, D3D10_C_PASS, FIELD_OFFSET(struct d3d10_effect_pass, blend) }, + { "Pass.RenderTargets", D3D10_SVT_RENDERTARGETVIEW, 1, 8, D3D10_C_PASS, ~0u }, + { "Pass.DepthStencilView", D3D10_SVT_DEPTHSTENCILVIEW, 1, 1, D3D10_C_PASS, ~0u }, + { "Pass.Unknown5", D3D10_SVT_VOID, 0, 0, D3D10_C_PASS, ~0u }, + { "Pass.VertexShader", D3D10_SVT_VERTEXSHADER, 1, 1, D3D10_C_PASS, FIELD_OFFSET(struct d3d10_effect_pass, vs.shader), + FIELD_OFFSET(struct d3d10_effect_pass, vs.index) }, + { "Pass.PixelShader", D3D10_SVT_PIXELSHADER, 1, 1, D3D10_C_PASS, FIELD_OFFSET(struct d3d10_effect_pass, ps.shader), + FIELD_OFFSET(struct d3d10_effect_pass, ps.index) }, + { "Pass.GeometryShader", D3D10_SVT_GEOMETRYSHADER, 1, 1, D3D10_C_PASS, FIELD_OFFSET(struct d3d10_effect_pass, gs.shader), + FIELD_OFFSET(struct d3d10_effect_pass, gs.index) }, + { "Pass.StencilRef", D3D10_SVT_UINT, 1, 1, D3D10_C_PASS, FIELD_OFFSET(struct d3d10_effect_pass, stencil_ref) }, + { "Pass.BlendFactor", D3D10_SVT_FLOAT, 4, 1, D3D10_C_PASS, FIELD_OFFSET(struct d3d10_effect_pass, blend_factor) }, + { "Pass.SampleMask", D3D10_SVT_UINT, 1, 1, D3D10_C_PASS, FIELD_OFFSET(struct d3d10_effect_pass, sample_mask) }, + + { "RasterizerState.FillMode", D3D10_SVT_INT, 1, 1, D3D10_C_RASTERIZER, FIELD_OFFSET(D3D10_RASTERIZER_DESC, FillMode) }, + { "RasterizerState.CullMode", D3D10_SVT_INT, 1, 1, D3D10_C_RASTERIZER, FIELD_OFFSET(D3D10_RASTERIZER_DESC, CullMode) }, + { "RasterizerState.FrontCounterClockwise", D3D10_SVT_BOOL, 1, 1, D3D10_C_RASTERIZER, FIELD_OFFSET(D3D10_RASTERIZER_DESC, FrontCounterClockwise) }, + { "RasterizerState.DepthBias", D3D10_SVT_INT, 1, 1, D3D10_C_RASTERIZER, FIELD_OFFSET(D3D10_RASTERIZER_DESC, DepthBias) }, + { "RasterizerState.DepthBiasClamp", D3D10_SVT_FLOAT, 1, 1, D3D10_C_RASTERIZER, FIELD_OFFSET(D3D10_RASTERIZER_DESC, DepthBiasClamp) }, + { "RasterizerState.SlopeScaledDepthBias", D3D10_SVT_FLOAT, 1, 1, D3D10_C_RASTERIZER, FIELD_OFFSET(D3D10_RASTERIZER_DESC, SlopeScaledDepthBias) }, + { "RasterizerState.DepthClipEnable", D3D10_SVT_BOOL, 1, 1, D3D10_C_RASTERIZER, FIELD_OFFSET(D3D10_RASTERIZER_DESC, DepthClipEnable) }, + { "RasterizerState.ScissorEnable", D3D10_SVT_BOOL, 1, 1, D3D10_C_RASTERIZER, FIELD_OFFSET(D3D10_RASTERIZER_DESC, ScissorEnable) }, + { "RasterizerState.MultisampleEnable", D3D10_SVT_BOOL, 1, 1, D3D10_C_RASTERIZER, FIELD_OFFSET(D3D10_RASTERIZER_DESC, MultisampleEnable) }, + { "RasterizerState.AntialiasedLineEnable", D3D10_SVT_BOOL, 1, 1, D3D10_C_RASTERIZER, FIELD_OFFSET(D3D10_RASTERIZER_DESC, AntialiasedLineEnable) }, + + { "DepthStencilState.DepthEnable", D3D10_SVT_BOOL, 1, 1, D3D10_C_DEPTHSTENCIL, FIELD_OFFSET(D3D10_DEPTH_STENCIL_DESC, DepthEnable) }, + { "DepthStencilState.DepthWriteMask", D3D10_SVT_INT, 1, 1, D3D10_C_DEPTHSTENCIL, FIELD_OFFSET(D3D10_DEPTH_STENCIL_DESC, DepthWriteMask) }, + { "DepthStencilState.DepthFunc", D3D10_SVT_INT, 1, 1, D3D10_C_DEPTHSTENCIL, FIELD_OFFSET(D3D10_DEPTH_STENCIL_DESC, DepthFunc) }, + { "DepthStencilState.StencilEnable", D3D10_SVT_BOOL, 1, 1, D3D10_C_DEPTHSTENCIL, FIELD_OFFSET(D3D10_DEPTH_STENCIL_DESC, StencilEnable) }, + { "DepthStencilState.StencilReadMask", D3D10_SVT_UINT8, 1, 1, D3D10_C_DEPTHSTENCIL, FIELD_OFFSET(D3D10_DEPTH_STENCIL_DESC, StencilReadMask) }, + { "DepthStencilState.StencilWriteMask", D3D10_SVT_UINT8, 1, 1, D3D10_C_DEPTHSTENCIL, FIELD_OFFSET(D3D10_DEPTH_STENCIL_DESC, StencilWriteMask) }, + { "DepthStencilState.FrontFaceStencilFail", D3D10_SVT_INT, 1, 1, D3D10_C_DEPTHSTENCIL, FIELD_OFFSET(D3D10_DEPTH_STENCIL_DESC, FrontFace.StencilFailOp) }, + { "DepthStencilState.FrontFaceStencilDepthFail", D3D10_SVT_INT, 1, 1, D3D10_C_DEPTHSTENCIL, FIELD_OFFSET(D3D10_DEPTH_STENCIL_DESC, FrontFace.StencilDepthFailOp)}, + { "DepthStencilState.FrontFaceStencilPass", D3D10_SVT_INT, 1, 1, D3D10_C_DEPTHSTENCIL, FIELD_OFFSET(D3D10_DEPTH_STENCIL_DESC, FrontFace.StencilPassOp) }, + { "DepthStencilState.FrontFaceStencilFunc", D3D10_SVT_INT, 1, 1, D3D10_C_DEPTHSTENCIL, FIELD_OFFSET(D3D10_DEPTH_STENCIL_DESC, FrontFace.StencilFunc) }, + { "DepthStencilState.BackFaceStencilFail", D3D10_SVT_INT, 1, 1, D3D10_C_DEPTHSTENCIL, FIELD_OFFSET(D3D10_DEPTH_STENCIL_DESC, BackFace.StencilFailOp) }, + { "DepthStencilState.BackFaceStencilDepthFail", D3D10_SVT_INT, 1, 1, D3D10_C_DEPTHSTENCIL, FIELD_OFFSET(D3D10_DEPTH_STENCIL_DESC, BackFace.StencilDepthFailOp) }, + { "DepthStencilState.BackFaceStencilPass", D3D10_SVT_INT, 1, 1, D3D10_C_DEPTHSTENCIL, FIELD_OFFSET(D3D10_DEPTH_STENCIL_DESC, BackFace.StencilPassOp) }, + { "DepthStencilState.BackFaceStencilFunc", D3D10_SVT_INT, 1, 1, D3D10_C_DEPTHSTENCIL, FIELD_OFFSET(D3D10_DEPTH_STENCIL_DESC, BackFace.StencilFunc) }, + + { "BlendState.AlphaToCoverageEnable", D3D10_SVT_BOOL, 1, 1, D3D10_C_BLEND, FIELD_OFFSET(D3D10_BLEND_DESC, AlphaToCoverageEnable) }, + { "BlendState.BlendEnable", D3D10_SVT_BOOL, 1, 8, D3D10_C_BLEND, FIELD_OFFSET(D3D10_BLEND_DESC, BlendEnable) }, + { "BlendState.SrcBlend", D3D10_SVT_INT, 1, 1, D3D10_C_BLEND, FIELD_OFFSET(D3D10_BLEND_DESC, SrcBlend) }, + { "BlendState.DestBlend", D3D10_SVT_INT, 1, 1, D3D10_C_BLEND, FIELD_OFFSET(D3D10_BLEND_DESC, DestBlend) }, + { "BlendState.BlendOp", D3D10_SVT_INT, 1, 1, D3D10_C_BLEND, FIELD_OFFSET(D3D10_BLEND_DESC, BlendOp) }, + { "BlendState.SrcBlendAlpha", D3D10_SVT_INT, 1, 1, D3D10_C_BLEND, FIELD_OFFSET(D3D10_BLEND_DESC, SrcBlendAlpha) }, + { "BlendState.DestBlendAlpha", D3D10_SVT_INT, 1, 1, D3D10_C_BLEND, FIELD_OFFSET(D3D10_BLEND_DESC, DestBlendAlpha) }, + { "BlendState.BlendOpAlpha", D3D10_SVT_INT, 1, 1, D3D10_C_BLEND, FIELD_OFFSET(D3D10_BLEND_DESC, BlendOpAlpha) }, + { "BlendState.RenderTargetWriteMask", D3D10_SVT_UINT8, 1, 8, D3D10_C_BLEND, FIELD_OFFSET(D3D10_BLEND_DESC, RenderTargetWriteMask) }, + + { "SamplerState.Filter", D3D10_SVT_INT, 1, 1, D3D10_C_SAMPLER, FIELD_OFFSET(struct d3d10_effect_sampler_desc, desc.Filter) }, + { "SamplerState.AddressU", D3D10_SVT_INT, 1, 1, D3D10_C_SAMPLER, FIELD_OFFSET(struct d3d10_effect_sampler_desc, desc.AddressU) }, + { "SamplerState.AddressV", D3D10_SVT_INT, 1, 1, D3D10_C_SAMPLER, FIELD_OFFSET(struct d3d10_effect_sampler_desc, desc.AddressV) }, + { "SamplerState.AddressW", D3D10_SVT_INT, 1, 1, D3D10_C_SAMPLER, FIELD_OFFSET(struct d3d10_effect_sampler_desc, desc.AddressW) }, + { "SamplerState.MipLODBias", D3D10_SVT_FLOAT, 1, 1, D3D10_C_SAMPLER, FIELD_OFFSET(struct d3d10_effect_sampler_desc, desc.MipLODBias) }, + { "SamplerState.MaxAnisotropy", D3D10_SVT_UINT, 1, 1, D3D10_C_SAMPLER, FIELD_OFFSET(struct d3d10_effect_sampler_desc, desc.MaxAnisotropy) }, + { "SamplerState.ComparisonFunc", D3D10_SVT_INT, 1, 1, D3D10_C_SAMPLER, FIELD_OFFSET(struct d3d10_effect_sampler_desc, desc.ComparisonFunc) }, + { "SamplerState.BorderColor", D3D10_SVT_FLOAT, 4, 1, D3D10_C_SAMPLER, FIELD_OFFSET(struct d3d10_effect_sampler_desc, desc.BorderColor) }, + { "SamplerState.MinLOD", D3D10_SVT_FLOAT, 1, 1, D3D10_C_SAMPLER, FIELD_OFFSET(struct d3d10_effect_sampler_desc, desc.MinLOD) }, + { "SamplerState.MaxLOD", D3D10_SVT_FLOAT, 1, 1, D3D10_C_SAMPLER, FIELD_OFFSET(struct d3d10_effect_sampler_desc, desc.MaxLOD) }, + { "SamplerState.Texture", D3D10_SVT_TEXTURE, 1, 1, D3D10_C_SAMPLER, FIELD_OFFSET(struct d3d10_effect_sampler_desc, texture) }, };
static const D3D10_RASTERIZER_DESC default_rasterizer_desc =
From: Nikolay Sivov nsivov@codeweavers.com
Signed-off-by: Nikolay Sivov nsivov@codeweavers.com --- dlls/d3d10/effect.c | 23 +++++++++++++++++++- dlls/d3d10/tests/effect.c | 45 ++++++++++++++++++++++++++++++--------- 2 files changed, 57 insertions(+), 11 deletions(-)
diff --git a/dlls/d3d10/effect.c b/dlls/d3d10/effect.c index 38dd1c874ae..00a3b1b4c79 100644 --- a/dlls/d3d10/effect.c +++ b/dlls/d3d10/effect.c @@ -219,6 +219,24 @@ static void pres_ftou(float **args, unsigned int n, const struct preshader_instr } }
+static void pres_min(float **args, unsigned int n, const struct preshader_instr *instr) +{ + float *retval = args[2]; + unsigned int i; + + for (i = 0; i < instr->comp_count; ++i) + retval[i] = min(args[0][i], args[1][i]); +} + +static void pres_max(float **args, unsigned int n, const struct preshader_instr *instr) +{ + float *retval = args[2]; + unsigned int i; + + for (i = 0; i < instr->comp_count; ++i) + retval[i] = max(args[0][i], args[1][i]); +} + static void pres_add(float **args, unsigned int n, const struct preshader_instr *instr) { float *retval = args[2]; @@ -238,6 +256,8 @@ struct preshader_op_info static const struct preshader_op_info preshader_ops[] = { { 0x133, "ftou", pres_ftou }, + { 0x200, "min", pres_min }, + { 0x201, "max", pres_max }, { 0x204, "add", pres_add }, };
@@ -2111,7 +2131,8 @@ static HRESULT parse_fx10_preshader_instr(struct d3d10_preshader_parse_context * return E_FAIL; }
- TRACE("Opcode %#x (%s), input count %u.\n", ins.opcode, op_info->name, input_count); + TRACE("Opcode %#x (%s) (%u,%u), input count %u.\n", ins.opcode, op_info->name, + ins.comp_count, ins.scalar, input_count);
/* Inputs + one output */ param_count = input_count + 1; diff --git a/dlls/d3d10/tests/effect.c b/dlls/d3d10/tests/effect.c index 25ac2d673ce..e318083d899 100644 --- a/dlls/d3d10/tests/effect.c +++ b/dlls/d3d10/tests/effect.c @@ -8148,13 +8148,17 @@ technique10 tech { SetBlendState( NULL, g_var.x + g_var2 + g_var.y, 0 ); } + pass p2 + { + SetBlendState( NULL, min(g_var.x, g_var2.x) + max(g_var.y, g_var2.y) + min(g_var, g_var2) + max(g_var, g_var2), 0 ); + } } #endif static DWORD fx_test_value_expression[] = { - 0x43425844, 0xe517f17c, 0xe44eaede, 0xe4fd1240, 0xc67d5084, 0x00000001, 0x0000047c, 0x00000001, - 0x00000024, 0x30315846, 0x00000450, 0xfeff1001, 0x00000001, 0x00000002, 0x00000000, 0x00000000, - 0x00000000, 0x00000000, 0x00000001, 0x00000330, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x43425844, 0x998fdf90, 0xbfa437be, 0x8d71413d, 0xe31c8b21, 0x00000001, 0x00000703, 0x00000001, + 0x00000024, 0x30315846, 0x000006d7, 0xfeff1001, 0x00000001, 0x00000002, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000001, 0x0000057b, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x6f6c4724, 0x736c6162, 0x6f6c6600, 0x00347461, 0x0000000d, 0x00000001, 0x00000000, 0x00000010, 0x00000010, 0x00000010, 0x0000210a, 0x61765f67, 0x5f670072, 0x32726176, 0x63657400, 0x30700068, 0x00016000, @@ -8181,13 +8185,34 @@ static DWORD fx_test_value_expression[] = 0x00000000, 0x00000002, 0x00000004, 0x00000000, 0x00000007, 0x00000000, 0xa0400004, 0x00000002, 0x00000000, 0x00000002, 0x00000001, 0x00000000, 0x00000007, 0x00000000, 0x00000000, 0x00000004, 0x00000000, 0xf0f0f0f0, 0x0f0f0f0f, 0x0000ffff, 0x00000001, 0x00000002, 0x00000000, 0x00000001, - 0x00000002, 0x00000000, 0x00000004, 0x00000020, 0x00000000, 0x00000002, 0xffffffff, 0x00000000, - 0x00000030, 0x00000014, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000036, - 0x00000014, 0x00000000, 0x00000010, 0x00000000, 0x00000000, 0x00000000, 0x0000003d, 0x00000002, - 0x00000000, 0x00000042, 0x00000003, 0x00000000, 0x0000000a, 0x00000000, 0x00000006, 0x00000045, - 0x0000000b, 0x00000000, 0x00000001, 0x000001a9, 0x00000002, 0x00000000, 0x00000001, 0x000001b5, - 0x000001c1, 0x00000003, 0x00000000, 0x0000000a, 0x00000000, 0x00000006, 0x000001c4, 0x0000000b, - 0x00000000, 0x00000001, 0x00000318, 0x00000002, 0x00000000, 0x00000001, 0x00000324, + 0x00000002, 0x00000000, 0x2c003270, 0x44000002, 0x9e434258, 0xfae994e0, 0xb641b826, 0x0bac8f3a, + 0x019d4eb7, 0x2c000000, 0x03000002, 0x2c000000, 0xd4000000, 0xe0000000, 0x43000000, 0xa0424154, + 0x1c000000, 0x77000000, 0x00000000, 0x02465804, 0x1c000000, 0x00000000, 0x74000001, 0x44000000, + 0x02000000, 0x01000000, 0x4c000000, 0x00000000, 0x5c000000, 0x02000000, 0x01000100, 0x64000000, + 0x00000000, 0x67000000, 0x7261765f, 0x01abab00, 0x01000300, 0x01000400, 0x00000000, 0x67000000, + 0x7261765f, 0x01ab0032, 0x01000300, 0x01000400, 0x00000000, 0x74000000, 0x694d0078, 0x736f7263, + 0x2074666f, 0x20295228, 0x4c534c48, 0x61685320, 0x20726564, 0x706d6f43, 0x72656c69, 0x2e303120, + 0x43ab0031, 0x0434494c, 0x00000000, 0x46000000, 0x44434c58, 0x07000001, 0x01000000, 0x02200000, + 0x00000000, 0x02000000, 0x00000000, 0x00000000, 0x02000000, 0x04000000, 0x00000000, 0x07000000, + 0x00000000, 0x01000000, 0x02201000, 0x00000000, 0x02000000, 0x01000000, 0x00000000, 0x02000000, + 0x05000000, 0x00000000, 0x07000000, 0x01000000, 0x01000000, 0x02204000, 0x00000000, 0x07000000, + 0x01000000, 0x00000000, 0x07000000, 0x00000000, 0x00000000, 0x07000000, 0x04000000, 0x04000000, + 0x02200000, 0x00000000, 0x02000000, 0x00000000, 0x00000000, 0x02000000, 0x04000000, 0x00000000, + 0x07000000, 0x00000000, 0x04000000, 0x02a04000, 0x00000000, 0x07000000, 0x04000000, 0x00000000, + 0x07000000, 0x00000000, 0x00000000, 0x07000000, 0x08000000, 0x04000000, 0x02201000, 0x00000000, + 0x02000000, 0x00000000, 0x00000000, 0x02000000, 0x04000000, 0x00000000, 0x07000000, 0x00000000, + 0x04000000, 0x02204000, 0x00000000, 0x07000000, 0x00000000, 0x00000000, 0x07000000, 0x08000000, + 0x00000000, 0x04000000, 0x00000000, 0xf0000000, 0x0ff0f0f0, 0xff0f0f0f, 0x010000ff, 0x02000000, + 0x00000000, 0x01000000, 0x02000000, 0x00000000, 0x04000000, 0x20000000, 0x00000000, 0x02000000, + 0xff000000, 0x00ffffff, 0x30000000, 0x14000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x36000000, 0x14000000, 0x00000000, 0x10000000, 0x00000000, 0x00000000, 0x00000000, + 0x3d000000, 0x03000000, 0x00000000, 0x42000000, 0x03000000, 0x00000000, 0x0a000000, 0x00000000, + 0x06000000, 0x45000000, 0x0b000000, 0x00000000, 0x01000000, 0xa9000000, 0x02000001, 0x00000000, + 0x01000000, 0xb5000000, 0xc1000001, 0x03000001, 0x00000000, 0x0a000000, 0x00000000, 0x06000000, + 0xc4000000, 0x0b000001, 0x00000000, 0x01000000, 0x18000000, 0x02000003, 0x00000000, 0x01000000, + 0x24000000, 0x30000003, 0x03000003, 0x00000000, 0x0a000000, 0x00000000, 0x06000000, 0x33000000, + 0x0b000003, 0x00000000, 0x01000000, 0x63000000, 0x02000005, 0x00000000, 0x01000000, 0x6f000000, + 0x00000005, };
static void test_effect_value_expression(void)
From: Nikolay Sivov nsivov@codeweavers.com
Signed-off-by: Nikolay Sivov nsivov@codeweavers.com --- dlls/d3d10/effect.c | 10 ++++++++++ dlls/d3d10/tests/effect.c | 31 ++++++++++++++++--------------- 2 files changed, 26 insertions(+), 15 deletions(-)
diff --git a/dlls/d3d10/effect.c b/dlls/d3d10/effect.c index 00a3b1b4c79..da67fecc908 100644 --- a/dlls/d3d10/effect.c +++ b/dlls/d3d10/effect.c @@ -207,6 +207,15 @@ struct preshader_instr
typedef void (*pres_op_func)(float **args, unsigned int n, const struct preshader_instr *instr);
+static void pres_neg(float **args, unsigned int n, const struct preshader_instr *instr) +{ + float *retval = args[1]; + unsigned int i; + + for (i = 0; i < instr->comp_count; ++i) + retval[i] = -args[0][i]; +} + static void pres_ftou(float **args, unsigned int n, const struct preshader_instr *instr) { float *retval = args[1]; @@ -255,6 +264,7 @@ struct preshader_op_info
static const struct preshader_op_info preshader_ops[] = { + { 0x101, "neg", pres_neg }, { 0x133, "ftou", pres_ftou }, { 0x200, "min", pres_min }, { 0x201, "max", pres_max }, diff --git a/dlls/d3d10/tests/effect.c b/dlls/d3d10/tests/effect.c index e318083d899..f1c7af4e050 100644 --- a/dlls/d3d10/tests/effect.c +++ b/dlls/d3d10/tests/effect.c @@ -8142,7 +8142,7 @@ technique10 tech { pass p0 { - SetBlendState( NULL, g_var + 0.1f + g_var2, 0 ); + SetBlendState( NULL, -g_var + 0.1f + g_var2, 0 ); } pass p1 { @@ -8156,23 +8156,24 @@ technique10 tech #endif static DWORD fx_test_value_expression[] = { - 0x43425844, 0x998fdf90, 0xbfa437be, 0x8d71413d, 0xe31c8b21, 0x00000001, 0x00000703, 0x00000001, - 0x00000024, 0x30315846, 0x000006d7, 0xfeff1001, 0x00000001, 0x00000002, 0x00000000, 0x00000000, - 0x00000000, 0x00000000, 0x00000001, 0x0000057b, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x43425844, 0x5efbe2c7, 0xf0e73736, 0x817c47b1, 0x221654f8, 0x00000001, 0x00000723, 0x00000001, + 0x00000024, 0x30315846, 0x000006f7, 0xfeff1001, 0x00000001, 0x00000002, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000001, 0x0000059b, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x6f6c4724, 0x736c6162, 0x6f6c6600, 0x00347461, 0x0000000d, 0x00000001, 0x00000000, 0x00000010, 0x00000010, - 0x00000010, 0x0000210a, 0x61765f67, 0x5f670072, 0x32726176, 0x63657400, 0x30700068, 0x00016000, - 0x42584400, 0x312ce543, 0xc3ebc897, 0xea47c0a2, 0x8a710323, 0x000001d2, 0x00016000, 0x00000300, + 0x00000010, 0x0000210a, 0x61765f67, 0x5f670072, 0x32726176, 0x63657400, 0x30700068, 0x00018000, + 0x42584400, 0x042b4d43, 0x89240778, 0x7627fdd4, 0xd3b7fecb, 0x0000014d, 0x00018000, 0x00000300, 0x00002c00, 0x0000d400, 0x0000f000, 0x41544300, 0x0000a042, 0x00001c00, 0x00007700, 0x58040000, 0x00000246, 0x00001c00, 0x00010000, 0x00007400, 0x00004400, 0x00000200, 0x00000100, 0x00004c00, 0x00000000, 0x00005c00, 0x01000200, 0x00000100, 0x00006400, 0x00000000, 0x765f6700, 0xab007261, 0x030001ab, 0x04000100, 0x00000100, 0x00000000, 0x765f6700, 0x00327261, 0x030001ab, 0x04000100, 0x00000100, 0x00000000, 0x00787400, 0x7263694d, 0x666f736f, 0x52282074, 0x4c482029, 0x53204c53, 0x65646168, 0x6f432072, 0x6c69706d, 0x31207265, 0x00312e30, 0x494c43ab, 0x00001434, 0x00000400, - 0xcccccd00, 0x0000003d, 0x00000000, 0x00000000, 0x4c584600, 0x00006843, 0x00000200, 0x40000400, - 0x00000220, 0x00000000, 0x00000200, 0x00000000, 0x00000000, 0x00000200, 0x00000400, 0x00000000, - 0x00000700, 0x00000000, 0x40000400, 0x000002a0, 0x00000000, 0x00000100, 0x00000000, 0x00000000, - 0x00000700, 0x00000000, 0x00000000, 0x00000400, 0x00000000, 0xf0f0f000, 0x0f0f0ff0, 0x00ffff0f, + 0xcccccd00, 0x0000003d, 0x00000000, 0x00000000, 0x4c584600, 0x00008843, 0x00000300, 0x10000400, + 0x00000110, 0x00000000, 0x00000200, 0x00000000, 0x00000000, 0x00000700, 0x00000000, 0x40000400, + 0x00000220, 0x00000000, 0x00000700, 0x00000000, 0x00000000, 0x00000200, 0x00000400, 0x00000000, + 0x00000700, 0x00000400, 0x40000400, 0x000002a0, 0x00000000, 0x00000100, 0x00000000, 0x00000000, + 0x00000700, 0x00000400, 0x00000000, 0x00000400, 0x00000000, 0xf0f0f000, 0x0f0f0ff0, 0x00ffff0f, 0x00000100, 0x00000200, 0x00000000, 0x00000100, 0x00000200, 0x00000000, 0x00317000, 0x00000150, 0x43425844, 0xc6a29e4c, 0x6292ed35, 0xd90bb8cb, 0x50dcd25f, 0x00000001, 0x00000150, 0x00000003, 0x0000002c, 0x000000d4, 0x000000e0, 0x42415443, 0x000000a0, 0x0000001c, 0x00000077, 0x46580400, @@ -8207,11 +8208,11 @@ static DWORD fx_test_value_expression[] = 0xff000000, 0x00ffffff, 0x30000000, 0x14000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x36000000, 0x14000000, 0x00000000, 0x10000000, 0x00000000, 0x00000000, 0x00000000, 0x3d000000, 0x03000000, 0x00000000, 0x42000000, 0x03000000, 0x00000000, 0x0a000000, 0x00000000, - 0x06000000, 0x45000000, 0x0b000000, 0x00000000, 0x01000000, 0xa9000000, 0x02000001, 0x00000000, - 0x01000000, 0xb5000000, 0xc1000001, 0x03000001, 0x00000000, 0x0a000000, 0x00000000, 0x06000000, - 0xc4000000, 0x0b000001, 0x00000000, 0x01000000, 0x18000000, 0x02000003, 0x00000000, 0x01000000, - 0x24000000, 0x30000003, 0x03000003, 0x00000000, 0x0a000000, 0x00000000, 0x06000000, 0x33000000, - 0x0b000003, 0x00000000, 0x01000000, 0x63000000, 0x02000005, 0x00000000, 0x01000000, 0x6f000000, + 0x06000000, 0x45000000, 0x0b000000, 0x00000000, 0x01000000, 0xc9000000, 0x02000001, 0x00000000, + 0x01000000, 0xd5000000, 0xe1000001, 0x03000001, 0x00000000, 0x0a000000, 0x00000000, 0x06000000, + 0xe4000000, 0x0b000001, 0x00000000, 0x01000000, 0x38000000, 0x02000003, 0x00000000, 0x01000000, + 0x44000000, 0x50000003, 0x03000003, 0x00000000, 0x0a000000, 0x00000000, 0x06000000, 0x53000000, + 0x0b000003, 0x00000000, 0x01000000, 0x83000000, 0x02000005, 0x00000000, 0x01000000, 0x8f000000, 0x00000005, };
From: Nikolay Sivov nsivov@codeweavers.com
Signed-off-by: Nikolay Sivov nsivov@codeweavers.com --- dlls/d3d10/effect.c | 10 ++++ dlls/d3d10/tests/effect.c | 101 +++++++++++++++++++------------------- 2 files changed, 61 insertions(+), 50 deletions(-)
diff --git a/dlls/d3d10/effect.c b/dlls/d3d10/effect.c index da67fecc908..00b17b289d8 100644 --- a/dlls/d3d10/effect.c +++ b/dlls/d3d10/effect.c @@ -255,6 +255,15 @@ static void pres_add(float **args, unsigned int n, const struct preshader_instr retval[i] = args[0][instr->scalar ? 0 : i] + args[1][i]; }
+static void pres_mul(float **args, unsigned int n, const struct preshader_instr *instr) +{ + float *retval = args[2]; + unsigned int i; + + for (i = 0; i < instr->comp_count; ++i) + retval[i] = args[0][instr->scalar ? 0 : i] * args[1][i]; +} + struct preshader_op_info { int opcode; @@ -269,6 +278,7 @@ static const struct preshader_op_info preshader_ops[] = { 0x200, "min", pres_min }, { 0x201, "max", pres_max }, { 0x204, "add", pres_add }, + { 0x205, "mul", pres_mul }, };
static int __cdecl preshader_op_compare(const void *a, const void *b) diff --git a/dlls/d3d10/tests/effect.c b/dlls/d3d10/tests/effect.c index f1c7af4e050..58a0a50bc0e 100644 --- a/dlls/d3d10/tests/effect.c +++ b/dlls/d3d10/tests/effect.c @@ -8142,7 +8142,7 @@ technique10 tech { pass p0 { - SetBlendState( NULL, -g_var + 0.1f + g_var2, 0 ); + SetBlendState( NULL, -g_var + 0.1f + g_var2 * 2.1f, 0 ); } pass p1 { @@ -8156,64 +8156,65 @@ technique10 tech #endif static DWORD fx_test_value_expression[] = { - 0x43425844, 0x5efbe2c7, 0xf0e73736, 0x817c47b1, 0x221654f8, 0x00000001, 0x00000723, 0x00000001, - 0x00000024, 0x30315846, 0x000006f7, 0xfeff1001, 0x00000001, 0x00000002, 0x00000000, 0x00000000, - 0x00000000, 0x00000000, 0x00000001, 0x0000059b, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x43425844, 0xf5b38d78, 0xc16f7150, 0xecec0534, 0xaa12c6b0, 0x00000001, 0x0000074f, 0x00000001, + 0x00000024, 0x30315846, 0x00000723, 0xfeff1001, 0x00000001, 0x00000002, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000001, 0x000005c7, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x6f6c4724, 0x736c6162, 0x6f6c6600, 0x00347461, 0x0000000d, 0x00000001, 0x00000000, 0x00000010, 0x00000010, - 0x00000010, 0x0000210a, 0x61765f67, 0x5f670072, 0x32726176, 0x63657400, 0x30700068, 0x00018000, - 0x42584400, 0x042b4d43, 0x89240778, 0x7627fdd4, 0xd3b7fecb, 0x0000014d, 0x00018000, 0x00000300, + 0x00000010, 0x0000210a, 0x61765f67, 0x5f670072, 0x32726176, 0x63657400, 0x30700068, 0x0001ac00, + 0x42584400, 0x004e2543, 0xfc3dcf36, 0x3b9f23ae, 0x0ffbc8c0, 0x000001de, 0x0001ac00, 0x00000300, 0x00002c00, 0x0000d400, 0x0000f000, 0x41544300, 0x0000a042, 0x00001c00, 0x00007700, 0x58040000, 0x00000246, 0x00001c00, 0x00010000, 0x00007400, 0x00004400, 0x00000200, 0x00000100, 0x00004c00, 0x00000000, 0x00005c00, 0x01000200, 0x00000100, 0x00006400, 0x00000000, 0x765f6700, 0xab007261, 0x030001ab, 0x04000100, 0x00000100, 0x00000000, 0x765f6700, 0x00327261, 0x030001ab, 0x04000100, 0x00000100, 0x00000000, 0x00787400, 0x7263694d, 0x666f736f, 0x52282074, 0x4c482029, 0x53204c53, 0x65646168, 0x6f432072, 0x6c69706d, 0x31207265, 0x00312e30, 0x494c43ab, 0x00001434, 0x00000400, - 0xcccccd00, 0x0000003d, 0x00000000, 0x00000000, 0x4c584600, 0x00008843, 0x00000300, 0x10000400, + 0xcccccd00, 0x0666663d, 0x00000040, 0x00000000, 0x4c584600, 0x0000b443, 0x00000400, 0x10000400, 0x00000110, 0x00000000, 0x00000200, 0x00000000, 0x00000000, 0x00000700, 0x00000000, 0x40000400, - 0x00000220, 0x00000000, 0x00000700, 0x00000000, 0x00000000, 0x00000200, 0x00000400, 0x00000000, - 0x00000700, 0x00000400, 0x40000400, 0x000002a0, 0x00000000, 0x00000100, 0x00000000, 0x00000000, - 0x00000700, 0x00000400, 0x00000000, 0x00000400, 0x00000000, 0xf0f0f000, 0x0f0f0ff0, 0x00ffff0f, - 0x00000100, 0x00000200, 0x00000000, 0x00000100, 0x00000200, 0x00000000, 0x00317000, 0x00000150, - 0x43425844, 0xc6a29e4c, 0x6292ed35, 0xd90bb8cb, 0x50dcd25f, 0x00000001, 0x00000150, 0x00000003, - 0x0000002c, 0x000000d4, 0x000000e0, 0x42415443, 0x000000a0, 0x0000001c, 0x00000077, 0x46580400, - 0x00000002, 0x0000001c, 0x00000100, 0x00000074, 0x00000044, 0x00000002, 0x00000001, 0x0000004c, - 0x00000000, 0x0000005c, 0x00010002, 0x00000001, 0x00000064, 0x00000000, 0x61765f67, 0xabab0072, - 0x00030001, 0x00040001, 0x00000001, 0x00000000, 0x61765f67, 0xab003272, 0x00030001, 0x00040001, - 0x00000001, 0x00000000, 0x4d007874, 0x6f726369, 0x74666f73, 0x29522820, 0x534c4820, 0x6853204c, - 0x72656461, 0x6d6f4320, 0x656c6970, 0x30312072, 0xab00312e, 0x34494c43, 0x00000004, 0x00000000, - 0x434c5846, 0x00000068, 0x00000002, 0xa0400004, 0x00000002, 0x00000000, 0x00000002, 0x00000000, - 0x00000000, 0x00000002, 0x00000004, 0x00000000, 0x00000007, 0x00000000, 0xa0400004, 0x00000002, - 0x00000000, 0x00000002, 0x00000001, 0x00000000, 0x00000007, 0x00000000, 0x00000000, 0x00000004, - 0x00000000, 0xf0f0f0f0, 0x0f0f0f0f, 0x0000ffff, 0x00000001, 0x00000002, 0x00000000, 0x00000001, - 0x00000002, 0x00000000, 0x2c003270, 0x44000002, 0x9e434258, 0xfae994e0, 0xb641b826, 0x0bac8f3a, - 0x019d4eb7, 0x2c000000, 0x03000002, 0x2c000000, 0xd4000000, 0xe0000000, 0x43000000, 0xa0424154, - 0x1c000000, 0x77000000, 0x00000000, 0x02465804, 0x1c000000, 0x00000000, 0x74000001, 0x44000000, - 0x02000000, 0x01000000, 0x4c000000, 0x00000000, 0x5c000000, 0x02000000, 0x01000100, 0x64000000, - 0x00000000, 0x67000000, 0x7261765f, 0x01abab00, 0x01000300, 0x01000400, 0x00000000, 0x67000000, - 0x7261765f, 0x01ab0032, 0x01000300, 0x01000400, 0x00000000, 0x74000000, 0x694d0078, 0x736f7263, - 0x2074666f, 0x20295228, 0x4c534c48, 0x61685320, 0x20726564, 0x706d6f43, 0x72656c69, 0x2e303120, - 0x43ab0031, 0x0434494c, 0x00000000, 0x46000000, 0x44434c58, 0x07000001, 0x01000000, 0x02200000, - 0x00000000, 0x02000000, 0x00000000, 0x00000000, 0x02000000, 0x04000000, 0x00000000, 0x07000000, - 0x00000000, 0x01000000, 0x02201000, 0x00000000, 0x02000000, 0x01000000, 0x00000000, 0x02000000, - 0x05000000, 0x00000000, 0x07000000, 0x01000000, 0x01000000, 0x02204000, 0x00000000, 0x07000000, - 0x01000000, 0x00000000, 0x07000000, 0x00000000, 0x00000000, 0x07000000, 0x04000000, 0x04000000, - 0x02200000, 0x00000000, 0x02000000, 0x00000000, 0x00000000, 0x02000000, 0x04000000, 0x00000000, - 0x07000000, 0x00000000, 0x04000000, 0x02a04000, 0x00000000, 0x07000000, 0x04000000, 0x00000000, - 0x07000000, 0x00000000, 0x00000000, 0x07000000, 0x08000000, 0x04000000, 0x02201000, 0x00000000, - 0x02000000, 0x00000000, 0x00000000, 0x02000000, 0x04000000, 0x00000000, 0x07000000, 0x00000000, - 0x04000000, 0x02204000, 0x00000000, 0x07000000, 0x00000000, 0x00000000, 0x07000000, 0x08000000, - 0x00000000, 0x04000000, 0x00000000, 0xf0000000, 0x0ff0f0f0, 0xff0f0f0f, 0x010000ff, 0x02000000, - 0x00000000, 0x01000000, 0x02000000, 0x00000000, 0x04000000, 0x20000000, 0x00000000, 0x02000000, - 0xff000000, 0x00ffffff, 0x30000000, 0x14000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, - 0x00000000, 0x36000000, 0x14000000, 0x00000000, 0x10000000, 0x00000000, 0x00000000, 0x00000000, - 0x3d000000, 0x03000000, 0x00000000, 0x42000000, 0x03000000, 0x00000000, 0x0a000000, 0x00000000, - 0x06000000, 0x45000000, 0x0b000000, 0x00000000, 0x01000000, 0xc9000000, 0x02000001, 0x00000000, - 0x01000000, 0xd5000000, 0xe1000001, 0x03000001, 0x00000000, 0x0a000000, 0x00000000, 0x06000000, - 0xe4000000, 0x0b000001, 0x00000000, 0x01000000, 0x38000000, 0x02000003, 0x00000000, 0x01000000, - 0x44000000, 0x50000003, 0x03000003, 0x00000000, 0x0a000000, 0x00000000, 0x06000000, 0x53000000, - 0x0b000003, 0x00000000, 0x01000000, 0x83000000, 0x02000005, 0x00000000, 0x01000000, 0x8f000000, - 0x00000005, + 0x000002a0, 0x00000000, 0x00000100, 0x00000000, 0x00000000, 0x00000700, 0x00000000, 0x00000000, + 0x00000700, 0x00000400, 0x50000400, 0x000002a0, 0x00000000, 0x00000100, 0x00000100, 0x00000000, + 0x00000200, 0x00000400, 0x00000000, 0x00000700, 0x00000000, 0x40000400, 0x00000220, 0x00000000, + 0x00000700, 0x00000000, 0x00000000, 0x00000700, 0x00000400, 0x00000000, 0x00000400, 0x00000000, + 0xf0f0f000, 0x0f0f0ff0, 0x00ffff0f, 0x00000100, 0x00000200, 0x00000000, 0x00000100, 0x00000200, + 0x00000000, 0x00317000, 0x00000150, 0x43425844, 0xc6a29e4c, 0x6292ed35, 0xd90bb8cb, 0x50dcd25f, + 0x00000001, 0x00000150, 0x00000003, 0x0000002c, 0x000000d4, 0x000000e0, 0x42415443, 0x000000a0, + 0x0000001c, 0x00000077, 0x46580400, 0x00000002, 0x0000001c, 0x00000100, 0x00000074, 0x00000044, + 0x00000002, 0x00000001, 0x0000004c, 0x00000000, 0x0000005c, 0x00010002, 0x00000001, 0x00000064, + 0x00000000, 0x61765f67, 0xabab0072, 0x00030001, 0x00040001, 0x00000001, 0x00000000, 0x61765f67, + 0xab003272, 0x00030001, 0x00040001, 0x00000001, 0x00000000, 0x4d007874, 0x6f726369, 0x74666f73, + 0x29522820, 0x534c4820, 0x6853204c, 0x72656461, 0x6d6f4320, 0x656c6970, 0x30312072, 0xab00312e, + 0x34494c43, 0x00000004, 0x00000000, 0x434c5846, 0x00000068, 0x00000002, 0xa0400004, 0x00000002, + 0x00000000, 0x00000002, 0x00000000, 0x00000000, 0x00000002, 0x00000004, 0x00000000, 0x00000007, + 0x00000000, 0xa0400004, 0x00000002, 0x00000000, 0x00000002, 0x00000001, 0x00000000, 0x00000007, + 0x00000000, 0x00000000, 0x00000004, 0x00000000, 0xf0f0f0f0, 0x0f0f0f0f, 0x0000ffff, 0x00000001, + 0x00000002, 0x00000000, 0x00000001, 0x00000002, 0x00000000, 0x2c003270, 0x44000002, 0x9e434258, + 0xfae994e0, 0xb641b826, 0x0bac8f3a, 0x019d4eb7, 0x2c000000, 0x03000002, 0x2c000000, 0xd4000000, + 0xe0000000, 0x43000000, 0xa0424154, 0x1c000000, 0x77000000, 0x00000000, 0x02465804, 0x1c000000, + 0x00000000, 0x74000001, 0x44000000, 0x02000000, 0x01000000, 0x4c000000, 0x00000000, 0x5c000000, + 0x02000000, 0x01000100, 0x64000000, 0x00000000, 0x67000000, 0x7261765f, 0x01abab00, 0x01000300, + 0x01000400, 0x00000000, 0x67000000, 0x7261765f, 0x01ab0032, 0x01000300, 0x01000400, 0x00000000, + 0x74000000, 0x694d0078, 0x736f7263, 0x2074666f, 0x20295228, 0x4c534c48, 0x61685320, 0x20726564, + 0x706d6f43, 0x72656c69, 0x2e303120, 0x43ab0031, 0x0434494c, 0x00000000, 0x46000000, 0x44434c58, + 0x07000001, 0x01000000, 0x02200000, 0x00000000, 0x02000000, 0x00000000, 0x00000000, 0x02000000, + 0x04000000, 0x00000000, 0x07000000, 0x00000000, 0x01000000, 0x02201000, 0x00000000, 0x02000000, + 0x01000000, 0x00000000, 0x02000000, 0x05000000, 0x00000000, 0x07000000, 0x01000000, 0x01000000, + 0x02204000, 0x00000000, 0x07000000, 0x01000000, 0x00000000, 0x07000000, 0x00000000, 0x00000000, + 0x07000000, 0x04000000, 0x04000000, 0x02200000, 0x00000000, 0x02000000, 0x00000000, 0x00000000, + 0x02000000, 0x04000000, 0x00000000, 0x07000000, 0x00000000, 0x04000000, 0x02a04000, 0x00000000, + 0x07000000, 0x04000000, 0x00000000, 0x07000000, 0x00000000, 0x00000000, 0x07000000, 0x08000000, + 0x04000000, 0x02201000, 0x00000000, 0x02000000, 0x00000000, 0x00000000, 0x02000000, 0x04000000, + 0x00000000, 0x07000000, 0x00000000, 0x04000000, 0x02204000, 0x00000000, 0x07000000, 0x00000000, + 0x00000000, 0x07000000, 0x08000000, 0x00000000, 0x04000000, 0x00000000, 0xf0000000, 0x0ff0f0f0, + 0xff0f0f0f, 0x010000ff, 0x02000000, 0x00000000, 0x01000000, 0x02000000, 0x00000000, 0x04000000, + 0x20000000, 0x00000000, 0x02000000, 0xff000000, 0x00ffffff, 0x30000000, 0x14000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x36000000, 0x14000000, 0x00000000, 0x10000000, + 0x00000000, 0x00000000, 0x00000000, 0x3d000000, 0x03000000, 0x00000000, 0x42000000, 0x03000000, + 0x00000000, 0x0a000000, 0x00000000, 0x06000000, 0x45000000, 0x0b000000, 0x00000000, 0x01000000, + 0xf5000000, 0x02000001, 0x00000000, 0x01000000, 0x01000000, 0x0d000002, 0x03000002, 0x00000000, + 0x0a000000, 0x00000000, 0x06000000, 0x10000000, 0x0b000002, 0x00000000, 0x01000000, 0x64000000, + 0x02000003, 0x00000000, 0x01000000, 0x70000000, 0x7c000003, 0x03000003, 0x00000000, 0x0a000000, + 0x00000000, 0x06000000, 0x7f000000, 0x0b000003, 0x00000000, 0x01000000, 0xaf000000, 0x02000005, + 0x00000000, 0x01000000, 0xbb000000, 0x00000005, };
static void test_effect_value_expression(void)
From: Nikolay Sivov nsivov@codeweavers.com
Signed-off-by: Nikolay Sivov nsivov@codeweavers.com --- dlls/d3d10/effect.c | 20 +++++++ dlls/d3d10/tests/effect.c | 109 ++++++++++++++++++++------------------ 2 files changed, 77 insertions(+), 52 deletions(-)
diff --git a/dlls/d3d10/effect.c b/dlls/d3d10/effect.c index 00b17b289d8..911145a92e9 100644 --- a/dlls/d3d10/effect.c +++ b/dlls/d3d10/effect.c @@ -216,6 +216,24 @@ static void pres_neg(float **args, unsigned int n, const struct preshader_instr retval[i] = -args[0][i]; }
+static void pres_sin(float **args, unsigned int n, const struct preshader_instr *instr) +{ + float *retval = args[1]; + unsigned int i; + + for (i = 0; i < instr->comp_count; ++i) + retval[i] = sin(args[0][i]); +} + +static void pres_cos(float **args, unsigned int n, const struct preshader_instr *instr) +{ + float *retval = args[1]; + unsigned int i; + + for (i = 0; i < instr->comp_count; ++i) + retval[i] = cos(args[0][i]); +} + static void pres_ftou(float **args, unsigned int n, const struct preshader_instr *instr) { float *retval = args[1]; @@ -274,6 +292,8 @@ struct preshader_op_info static const struct preshader_op_info preshader_ops[] = { { 0x101, "neg", pres_neg }, + { 0x108, "sin", pres_sin }, + { 0x109, "cost", pres_cos }, { 0x133, "ftou", pres_ftou }, { 0x200, "min", pres_min }, { 0x201, "max", pres_max }, diff --git a/dlls/d3d10/tests/effect.c b/dlls/d3d10/tests/effect.c index 58a0a50bc0e..4102e7a7429 100644 --- a/dlls/d3d10/tests/effect.c +++ b/dlls/d3d10/tests/effect.c @@ -8142,7 +8142,7 @@ technique10 tech { pass p0 { - SetBlendState( NULL, -g_var + 0.1f + g_var2 * 2.1f, 0 ); + SetBlendState( NULL, -g_var + sin(g_var.x) + cos(g_var.y) + 0.1f + g_var2 * 2.1f, 0 ); } pass p1 { @@ -8156,65 +8156,70 @@ technique10 tech #endif static DWORD fx_test_value_expression[] = { - 0x43425844, 0xf5b38d78, 0xc16f7150, 0xecec0534, 0xaa12c6b0, 0x00000001, 0x0000074f, 0x00000001, - 0x00000024, 0x30315846, 0x00000723, 0xfeff1001, 0x00000001, 0x00000002, 0x00000000, 0x00000000, - 0x00000000, 0x00000000, 0x00000001, 0x000005c7, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x43425844, 0xed65bcfa, 0xf782c70d, 0xbc38597c, 0xc58fccec, 0x00000001, 0x000007e7, 0x00000001, + 0x00000024, 0x30315846, 0x000007bb, 0xfeff1001, 0x00000001, 0x00000002, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000001, 0x0000065f, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x6f6c4724, 0x736c6162, 0x6f6c6600, 0x00347461, 0x0000000d, 0x00000001, 0x00000000, 0x00000010, 0x00000010, - 0x00000010, 0x0000210a, 0x61765f67, 0x5f670072, 0x32726176, 0x63657400, 0x30700068, 0x0001ac00, - 0x42584400, 0x004e2543, 0xfc3dcf36, 0x3b9f23ae, 0x0ffbc8c0, 0x000001de, 0x0001ac00, 0x00000300, + 0x00000010, 0x0000210a, 0x61765f67, 0x5f670072, 0x32726176, 0x63657400, 0x30700068, 0x00024400, + 0x42584400, 0xff104243, 0xa078c06f, 0xb9d7d003, 0x421eb8c7, 0x0000014c, 0x00024400, 0x00000300, 0x00002c00, 0x0000d400, 0x0000f000, 0x41544300, 0x0000a042, 0x00001c00, 0x00007700, 0x58040000, 0x00000246, 0x00001c00, 0x00010000, 0x00007400, 0x00004400, 0x00000200, 0x00000100, 0x00004c00, 0x00000000, 0x00005c00, 0x01000200, 0x00000100, 0x00006400, 0x00000000, 0x765f6700, 0xab007261, 0x030001ab, 0x04000100, 0x00000100, 0x00000000, 0x765f6700, 0x00327261, 0x030001ab, 0x04000100, 0x00000100, 0x00000000, 0x00787400, 0x7263694d, 0x666f736f, 0x52282074, 0x4c482029, 0x53204c53, 0x65646168, 0x6f432072, 0x6c69706d, 0x31207265, 0x00312e30, 0x494c43ab, 0x00001434, 0x00000400, - 0xcccccd00, 0x0666663d, 0x00000040, 0x00000000, 0x4c584600, 0x0000b443, 0x00000400, 0x10000400, - 0x00000110, 0x00000000, 0x00000200, 0x00000000, 0x00000000, 0x00000700, 0x00000000, 0x40000400, - 0x000002a0, 0x00000000, 0x00000100, 0x00000000, 0x00000000, 0x00000700, 0x00000000, 0x00000000, - 0x00000700, 0x00000400, 0x50000400, 0x000002a0, 0x00000000, 0x00000100, 0x00000100, 0x00000000, - 0x00000200, 0x00000400, 0x00000000, 0x00000700, 0x00000000, 0x40000400, 0x00000220, 0x00000000, - 0x00000700, 0x00000000, 0x00000000, 0x00000700, 0x00000400, 0x00000000, 0x00000400, 0x00000000, - 0xf0f0f000, 0x0f0f0ff0, 0x00ffff0f, 0x00000100, 0x00000200, 0x00000000, 0x00000100, 0x00000200, - 0x00000000, 0x00317000, 0x00000150, 0x43425844, 0xc6a29e4c, 0x6292ed35, 0xd90bb8cb, 0x50dcd25f, - 0x00000001, 0x00000150, 0x00000003, 0x0000002c, 0x000000d4, 0x000000e0, 0x42415443, 0x000000a0, - 0x0000001c, 0x00000077, 0x46580400, 0x00000002, 0x0000001c, 0x00000100, 0x00000074, 0x00000044, - 0x00000002, 0x00000001, 0x0000004c, 0x00000000, 0x0000005c, 0x00010002, 0x00000001, 0x00000064, - 0x00000000, 0x61765f67, 0xabab0072, 0x00030001, 0x00040001, 0x00000001, 0x00000000, 0x61765f67, - 0xab003272, 0x00030001, 0x00040001, 0x00000001, 0x00000000, 0x4d007874, 0x6f726369, 0x74666f73, - 0x29522820, 0x534c4820, 0x6853204c, 0x72656461, 0x6d6f4320, 0x656c6970, 0x30312072, 0xab00312e, - 0x34494c43, 0x00000004, 0x00000000, 0x434c5846, 0x00000068, 0x00000002, 0xa0400004, 0x00000002, - 0x00000000, 0x00000002, 0x00000000, 0x00000000, 0x00000002, 0x00000004, 0x00000000, 0x00000007, - 0x00000000, 0xa0400004, 0x00000002, 0x00000000, 0x00000002, 0x00000001, 0x00000000, 0x00000007, - 0x00000000, 0x00000000, 0x00000004, 0x00000000, 0xf0f0f0f0, 0x0f0f0f0f, 0x0000ffff, 0x00000001, - 0x00000002, 0x00000000, 0x00000001, 0x00000002, 0x00000000, 0x2c003270, 0x44000002, 0x9e434258, - 0xfae994e0, 0xb641b826, 0x0bac8f3a, 0x019d4eb7, 0x2c000000, 0x03000002, 0x2c000000, 0xd4000000, - 0xe0000000, 0x43000000, 0xa0424154, 0x1c000000, 0x77000000, 0x00000000, 0x02465804, 0x1c000000, - 0x00000000, 0x74000001, 0x44000000, 0x02000000, 0x01000000, 0x4c000000, 0x00000000, 0x5c000000, - 0x02000000, 0x01000100, 0x64000000, 0x00000000, 0x67000000, 0x7261765f, 0x01abab00, 0x01000300, - 0x01000400, 0x00000000, 0x67000000, 0x7261765f, 0x01ab0032, 0x01000300, 0x01000400, 0x00000000, - 0x74000000, 0x694d0078, 0x736f7263, 0x2074666f, 0x20295228, 0x4c534c48, 0x61685320, 0x20726564, - 0x706d6f43, 0x72656c69, 0x2e303120, 0x43ab0031, 0x0434494c, 0x00000000, 0x46000000, 0x44434c58, - 0x07000001, 0x01000000, 0x02200000, 0x00000000, 0x02000000, 0x00000000, 0x00000000, 0x02000000, - 0x04000000, 0x00000000, 0x07000000, 0x00000000, 0x01000000, 0x02201000, 0x00000000, 0x02000000, - 0x01000000, 0x00000000, 0x02000000, 0x05000000, 0x00000000, 0x07000000, 0x01000000, 0x01000000, - 0x02204000, 0x00000000, 0x07000000, 0x01000000, 0x00000000, 0x07000000, 0x00000000, 0x00000000, - 0x07000000, 0x04000000, 0x04000000, 0x02200000, 0x00000000, 0x02000000, 0x00000000, 0x00000000, - 0x02000000, 0x04000000, 0x00000000, 0x07000000, 0x00000000, 0x04000000, 0x02a04000, 0x00000000, - 0x07000000, 0x04000000, 0x00000000, 0x07000000, 0x00000000, 0x00000000, 0x07000000, 0x08000000, - 0x04000000, 0x02201000, 0x00000000, 0x02000000, 0x00000000, 0x00000000, 0x02000000, 0x04000000, - 0x00000000, 0x07000000, 0x00000000, 0x04000000, 0x02204000, 0x00000000, 0x07000000, 0x00000000, - 0x00000000, 0x07000000, 0x08000000, 0x00000000, 0x04000000, 0x00000000, 0xf0000000, 0x0ff0f0f0, - 0xff0f0f0f, 0x010000ff, 0x02000000, 0x00000000, 0x01000000, 0x02000000, 0x00000000, 0x04000000, - 0x20000000, 0x00000000, 0x02000000, 0xff000000, 0x00ffffff, 0x30000000, 0x14000000, 0x00000000, - 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x36000000, 0x14000000, 0x00000000, 0x10000000, - 0x00000000, 0x00000000, 0x00000000, 0x3d000000, 0x03000000, 0x00000000, 0x42000000, 0x03000000, - 0x00000000, 0x0a000000, 0x00000000, 0x06000000, 0x45000000, 0x0b000000, 0x00000000, 0x01000000, - 0xf5000000, 0x02000001, 0x00000000, 0x01000000, 0x01000000, 0x0d000002, 0x03000002, 0x00000000, - 0x0a000000, 0x00000000, 0x06000000, 0x10000000, 0x0b000002, 0x00000000, 0x01000000, 0x64000000, - 0x02000003, 0x00000000, 0x01000000, 0x70000000, 0x7c000003, 0x03000003, 0x00000000, 0x0a000000, - 0x00000000, 0x06000000, 0x7f000000, 0x0b000003, 0x00000000, 0x01000000, 0xaf000000, 0x02000005, - 0x00000000, 0x01000000, 0xbb000000, 0x00000005, + 0xcccccd00, 0x0666663d, 0x00000040, 0x00000000, 0x4c584600, 0x00014c43, 0x00000800, 0x10000400, + 0x00000110, 0x00000000, 0x00000200, 0x00000000, 0x00000000, 0x00000700, 0x00000000, 0x80000100, + 0x00000110, 0x00000000, 0x00000200, 0x00000000, 0x00000000, 0x00000700, 0x00000400, 0x40000400, + 0x000002a0, 0x00000000, 0x00000700, 0x00000400, 0x00000000, 0x00000700, 0x00000000, 0x00000000, + 0x00000700, 0x00000800, 0x90000100, 0x00000110, 0x00000000, 0x00000200, 0x00000100, 0x00000000, + 0x00000700, 0x00000000, 0x40000400, 0x000002a0, 0x00000000, 0x00000700, 0x00000000, 0x00000000, + 0x00000700, 0x00000800, 0x00000000, 0x00000700, 0x00000400, 0x40000400, 0x000002a0, 0x00000000, + 0x00000100, 0x00000000, 0x00000000, 0x00000700, 0x00000400, 0x00000000, 0x00000700, 0x00000000, + 0x50000400, 0x000002a0, 0x00000000, 0x00000100, 0x00000100, 0x00000000, 0x00000200, 0x00000400, + 0x00000000, 0x00000700, 0x00000400, 0x40000400, 0x00000220, 0x00000000, 0x00000700, 0x00000000, + 0x00000000, 0x00000700, 0x00000400, 0x00000000, 0x00000400, 0x00000000, 0xf0f0f000, 0x0f0f0ff0, + 0x00ffff0f, 0x00000100, 0x00000200, 0x00000000, 0x00000100, 0x00000200, 0x00000000, 0x00317000, + 0x00000150, 0x43425844, 0xc6a29e4c, 0x6292ed35, 0xd90bb8cb, 0x50dcd25f, 0x00000001, 0x00000150, + 0x00000003, 0x0000002c, 0x000000d4, 0x000000e0, 0x42415443, 0x000000a0, 0x0000001c, 0x00000077, + 0x46580400, 0x00000002, 0x0000001c, 0x00000100, 0x00000074, 0x00000044, 0x00000002, 0x00000001, + 0x0000004c, 0x00000000, 0x0000005c, 0x00010002, 0x00000001, 0x00000064, 0x00000000, 0x61765f67, + 0xabab0072, 0x00030001, 0x00040001, 0x00000001, 0x00000000, 0x61765f67, 0xab003272, 0x00030001, + 0x00040001, 0x00000001, 0x00000000, 0x4d007874, 0x6f726369, 0x74666f73, 0x29522820, 0x534c4820, + 0x6853204c, 0x72656461, 0x6d6f4320, 0x656c6970, 0x30312072, 0xab00312e, 0x34494c43, 0x00000004, + 0x00000000, 0x434c5846, 0x00000068, 0x00000002, 0xa0400004, 0x00000002, 0x00000000, 0x00000002, + 0x00000000, 0x00000000, 0x00000002, 0x00000004, 0x00000000, 0x00000007, 0x00000000, 0xa0400004, + 0x00000002, 0x00000000, 0x00000002, 0x00000001, 0x00000000, 0x00000007, 0x00000000, 0x00000000, + 0x00000004, 0x00000000, 0xf0f0f0f0, 0x0f0f0f0f, 0x0000ffff, 0x00000001, 0x00000002, 0x00000000, + 0x00000001, 0x00000002, 0x00000000, 0x2c003270, 0x44000002, 0x9e434258, 0xfae994e0, 0xb641b826, + 0x0bac8f3a, 0x019d4eb7, 0x2c000000, 0x03000002, 0x2c000000, 0xd4000000, 0xe0000000, 0x43000000, + 0xa0424154, 0x1c000000, 0x77000000, 0x00000000, 0x02465804, 0x1c000000, 0x00000000, 0x74000001, + 0x44000000, 0x02000000, 0x01000000, 0x4c000000, 0x00000000, 0x5c000000, 0x02000000, 0x01000100, + 0x64000000, 0x00000000, 0x67000000, 0x7261765f, 0x01abab00, 0x01000300, 0x01000400, 0x00000000, + 0x67000000, 0x7261765f, 0x01ab0032, 0x01000300, 0x01000400, 0x00000000, 0x74000000, 0x694d0078, + 0x736f7263, 0x2074666f, 0x20295228, 0x4c534c48, 0x61685320, 0x20726564, 0x706d6f43, 0x72656c69, + 0x2e303120, 0x43ab0031, 0x0434494c, 0x00000000, 0x46000000, 0x44434c58, 0x07000001, 0x01000000, + 0x02200000, 0x00000000, 0x02000000, 0x00000000, 0x00000000, 0x02000000, 0x04000000, 0x00000000, + 0x07000000, 0x00000000, 0x01000000, 0x02201000, 0x00000000, 0x02000000, 0x01000000, 0x00000000, + 0x02000000, 0x05000000, 0x00000000, 0x07000000, 0x01000000, 0x01000000, 0x02204000, 0x00000000, + 0x07000000, 0x01000000, 0x00000000, 0x07000000, 0x00000000, 0x00000000, 0x07000000, 0x04000000, + 0x04000000, 0x02200000, 0x00000000, 0x02000000, 0x00000000, 0x00000000, 0x02000000, 0x04000000, + 0x00000000, 0x07000000, 0x00000000, 0x04000000, 0x02a04000, 0x00000000, 0x07000000, 0x04000000, + 0x00000000, 0x07000000, 0x00000000, 0x00000000, 0x07000000, 0x08000000, 0x04000000, 0x02201000, + 0x00000000, 0x02000000, 0x00000000, 0x00000000, 0x02000000, 0x04000000, 0x00000000, 0x07000000, + 0x00000000, 0x04000000, 0x02204000, 0x00000000, 0x07000000, 0x00000000, 0x00000000, 0x07000000, + 0x08000000, 0x00000000, 0x04000000, 0x00000000, 0xf0000000, 0x0ff0f0f0, 0xff0f0f0f, 0x010000ff, + 0x02000000, 0x00000000, 0x01000000, 0x02000000, 0x00000000, 0x04000000, 0x20000000, 0x00000000, + 0x02000000, 0xff000000, 0x00ffffff, 0x30000000, 0x14000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x36000000, 0x14000000, 0x00000000, 0x10000000, 0x00000000, 0x00000000, + 0x00000000, 0x3d000000, 0x03000000, 0x00000000, 0x42000000, 0x03000000, 0x00000000, 0x0a000000, + 0x00000000, 0x06000000, 0x45000000, 0x0b000000, 0x00000000, 0x01000000, 0x8d000000, 0x02000002, + 0x00000000, 0x01000000, 0x99000000, 0xa5000002, 0x03000002, 0x00000000, 0x0a000000, 0x00000000, + 0x06000000, 0xa8000000, 0x0b000002, 0x00000000, 0x01000000, 0xfc000000, 0x02000003, 0x00000000, + 0x01000000, 0x08000000, 0x14000004, 0x03000004, 0x00000000, 0x0a000000, 0x00000000, 0x06000000, + 0x17000000, 0x0b000004, 0x00000000, 0x01000000, 0x47000000, 0x02000006, 0x00000000, 0x01000000, + 0x53000000, 0x00000006, };
static void test_effect_value_expression(void)
Hi,
It looks like your patch introduced the new failures shown below. Please investigate and fix them before resubmitting your patch. If they are not new, fixing them anyway would help a lot. Otherwise please ask for the known failures list to be updated.
The tests also ran into some preexisting test failures. If you know how to fix them that would be helpful. See the TestBot job for the details:
The full results can be found at: https://testbot.winehq.org/JobDetails.pl?Key=126833
Your paranoid android.
=== debian11 (32 bit report) ===
winhttp: notification: Timeout
Matteo Bruni (@Mystral) commented about dlls/d3d10/effect.c:
}
}
+static void pres_min(float **args, unsigned int n, const struct preshader_instr *instr) +{
- float *retval = args[2];
- unsigned int i;
- for (i = 0; i < instr->comp_count; ++i)
retval[i] = min(args[0][i], args[1][i]);
Have you checked that the "scalar" modifier is not supported by min/max opcodes?
I tried to have a quick look but I only managed to confuse myself :D I think it's not supported but I'd like for you to double check, if you haven't already.
Either way, it would be nice to have a test for that kind of case, like "min(g_var.x, g_var2)".
Looks good overall :thumbsup: