From: Jacek Caban jacek@codeweavers.com
--- dlls/d3d11/state.c | 33 +++++++++++++++++++-------------- 1 file changed, 19 insertions(+), 14 deletions(-)
diff --git a/dlls/d3d11/state.c b/dlls/d3d11/state.c index b1731322683..4f3d9f2bc94 100644 --- a/dlls/d3d11/state.c +++ b/dlls/d3d11/state.c @@ -738,6 +738,16 @@ static const struct wined3d_parent_ops d3d_depthstencil_state_wined3d_parent_ops d3d_depthstencil_state_wined3d_object_destroyed, };
+static enum wined3d_cmp_func wined3d_cmp_func_from_d3d11(D3D11_COMPARISON_FUNC func) +{ + return (enum wined3d_cmp_func)func; +} + +static enum wined3d_stencil_op wined3d_stencil_op_from_d3d11(D3D11_STENCIL_OP stencil_op) +{ + return (enum wined3d_stencil_op)stencil_op; +} + HRESULT d3d_depthstencil_state_create(struct d3d_device *device, const D3D11_DEPTH_STENCIL_DESC *desc, struct d3d_depthstencil_state **state) { @@ -822,18 +832,18 @@ HRESULT d3d_depthstencil_state_create(struct d3d_device *device, const D3D11_DEP
wined3d_desc.depth = desc->DepthEnable; wined3d_desc.depth_write = desc->DepthWriteMask; - wined3d_desc.depth_func = desc->DepthFunc; + wined3d_desc.depth_func = wined3d_cmp_func_from_d3d11(desc->DepthFunc); wined3d_desc.stencil = desc->StencilEnable; wined3d_desc.stencil_read_mask = desc->StencilReadMask; wined3d_desc.stencil_write_mask = desc->StencilWriteMask; - wined3d_desc.front.fail_op = desc->FrontFace.StencilFailOp; - wined3d_desc.front.depth_fail_op = desc->FrontFace.StencilDepthFailOp; - wined3d_desc.front.pass_op = desc->FrontFace.StencilPassOp; - wined3d_desc.front.func = desc->FrontFace.StencilFunc; - wined3d_desc.back.fail_op = desc->BackFace.StencilFailOp; - wined3d_desc.back.depth_fail_op = desc->BackFace.StencilDepthFailOp; - wined3d_desc.back.pass_op = desc->BackFace.StencilPassOp; - wined3d_desc.back.func = desc->BackFace.StencilFunc; + wined3d_desc.front.fail_op = wined3d_stencil_op_from_d3d11(desc->FrontFace.StencilFailOp); + wined3d_desc.front.depth_fail_op = wined3d_stencil_op_from_d3d11(desc->FrontFace.StencilDepthFailOp); + wined3d_desc.front.pass_op = wined3d_stencil_op_from_d3d11(desc->FrontFace.StencilPassOp); + wined3d_desc.front.func = wined3d_cmp_func_from_d3d11(desc->FrontFace.StencilFunc); + wined3d_desc.back.fail_op = wined3d_stencil_op_from_d3d11(desc->BackFace.StencilFailOp); + wined3d_desc.back.depth_fail_op = wined3d_stencil_op_from_d3d11(desc->BackFace.StencilDepthFailOp); + wined3d_desc.back.pass_op = wined3d_stencil_op_from_d3d11(desc->BackFace.StencilPassOp); + wined3d_desc.back.func = wined3d_cmp_func_from_d3d11(desc->BackFace.StencilFunc);
/* We cannot fail after creating a wined3d_depth_stencil_state object. It * would lead to double free. */ @@ -1563,11 +1573,6 @@ static BOOL wined3d_texture_compare_from_d3d11(enum D3D11_FILTER f) return D3D11_DECODE_IS_COMPARISON_FILTER(f); }
-static enum wined3d_cmp_func wined3d_cmp_func_from_d3d11(D3D11_COMPARISON_FUNC f) -{ - return (enum wined3d_cmp_func)f; -} - static HRESULT d3d_sampler_state_init(struct d3d_sampler_state *state, struct d3d_device *device, const D3D11_SAMPLER_DESC *desc) {
From: Jacek Caban jacek@codeweavers.com
--- dlls/d3d11/tests/d3d11.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/dlls/d3d11/tests/d3d11.c b/dlls/d3d11/tests/d3d11.c index 984bb845aad..2406046fc97 100644 --- a/dlls/d3d11/tests/d3d11.c +++ b/dlls/d3d11/tests/d3d11.c @@ -13479,9 +13479,9 @@ static void test_instanced_draw(void) {"color", 0, DXGI_FORMAT_R8_UNORM, 1, D3D11_APPEND_ALIGNED_ELEMENT, D3D11_INPUT_PER_INSTANCE_DATA, 1}, {"color", 1, DXGI_FORMAT_R8_UNORM, 2, D3D11_APPEND_ALIGNED_ELEMENT, - D3D10_INPUT_PER_INSTANCE_DATA, 0}, + D3D11_INPUT_PER_INSTANCE_DATA, 0}, {"color", 2, DXGI_FORMAT_R8_UNORM, 3, D3D11_APPEND_ALIGNED_ELEMENT, - D3D10_INPUT_PER_INSTANCE_DATA, 2}, + D3D11_INPUT_PER_INSTANCE_DATA, 2}, {"v_offset", 0, DXGI_FORMAT_R32_FLOAT, 1, D3D11_APPEND_ALIGNED_ELEMENT, D3D11_INPUT_PER_INSTANCE_DATA, 1}, };
From: Jacek Caban jacek@codeweavers.com
--- dlls/d3d8/device.c | 58 +++++++++++++++++++++++----------------------- 1 file changed, 29 insertions(+), 29 deletions(-)
diff --git a/dlls/d3d8/device.c b/dlls/d3d8/device.c index 49158fe9e82..9be6436f8b4 100644 --- a/dlls/d3d8/device.c +++ b/dlls/d3d8/device.c @@ -2331,35 +2331,35 @@ static const struct tss_lookup } tss_lookup[] = { - {FALSE, {WINED3D_TSS_INVALID}}, /* 0, unused */ - {FALSE, {WINED3D_TSS_COLOR_OP}}, /* 1, D3DTSS_COLOROP */ - {FALSE, {WINED3D_TSS_COLOR_ARG1}}, /* 2, D3DTSS_COLORARG1 */ - {FALSE, {WINED3D_TSS_COLOR_ARG2}}, /* 3, D3DTSS_COLORARG2 */ - {FALSE, {WINED3D_TSS_ALPHA_OP}}, /* 4, D3DTSS_ALPHAOP */ - {FALSE, {WINED3D_TSS_ALPHA_ARG1}}, /* 5, D3DTSS_ALPHAARG1 */ - {FALSE, {WINED3D_TSS_ALPHA_ARG2}}, /* 6, D3DTSS_ALPHAARG2 */ - {FALSE, {WINED3D_TSS_BUMPENV_MAT00}}, /* 7, D3DTSS_BUMPENVMAT00 */ - {FALSE, {WINED3D_TSS_BUMPENV_MAT01}}, /* 8, D3DTSS_BUMPENVMAT01 */ - {FALSE, {WINED3D_TSS_BUMPENV_MAT10}}, /* 9, D3DTSS_BUMPENVMAT10 */ - {FALSE, {WINED3D_TSS_BUMPENV_MAT11}}, /* 10, D3DTSS_BUMPENVMAT11 */ - {FALSE, {WINED3D_TSS_TEXCOORD_INDEX}}, /* 11, D3DTSS_TEXCOORDINDEX */ - {FALSE, {WINED3D_TSS_INVALID}}, /* 12, unused */ - {TRUE, {WINED3D_SAMP_ADDRESS_U}}, /* 13, D3DTSS_ADDRESSU */ - {TRUE, {WINED3D_SAMP_ADDRESS_V}}, /* 14, D3DTSS_ADDRESSV */ - {TRUE, {WINED3D_SAMP_BORDER_COLOR}}, /* 15, D3DTSS_BORDERCOLOR */ - {TRUE, {WINED3D_SAMP_MAG_FILTER}}, /* 16, D3DTSS_MAGFILTER */ - {TRUE, {WINED3D_SAMP_MIN_FILTER}}, /* 17, D3DTSS_MINFILTER */ - {TRUE, {WINED3D_SAMP_MIP_FILTER}}, /* 18, D3DTSS_MIPFILTER */ - {TRUE, {WINED3D_SAMP_MIPMAP_LOD_BIAS}}, /* 19, D3DTSS_MIPMAPLODBIAS */ - {TRUE, {WINED3D_SAMP_MAX_MIP_LEVEL}}, /* 20, D3DTSS_MAXMIPLEVEL */ - {TRUE, {WINED3D_SAMP_MAX_ANISOTROPY}}, /* 21, D3DTSS_MAXANISOTROPY */ - {FALSE, {WINED3D_TSS_BUMPENV_LSCALE}}, /* 22, D3DTSS_BUMPENVLSCALE */ - {FALSE, {WINED3D_TSS_BUMPENV_LOFFSET}}, /* 23, D3DTSS_BUMPENVLOFFSET */ - {FALSE, {WINED3D_TSS_TEXTURE_TRANSFORM_FLAGS}}, /* 24, D3DTSS_TEXTURETRANSFORMFLAGS */ - {TRUE, {WINED3D_SAMP_ADDRESS_W}}, /* 25, D3DTSS_ADDRESSW */ - {FALSE, {WINED3D_TSS_COLOR_ARG0}}, /* 26, D3DTSS_COLORARG0 */ - {FALSE, {WINED3D_TSS_ALPHA_ARG0}}, /* 27, D3DTSS_ALPHAARG0 */ - {FALSE, {WINED3D_TSS_RESULT_ARG}}, /* 28, D3DTSS_RESULTARG */ + {FALSE, .u.texture_state = WINED3D_TSS_INVALID}, /* 0, unused */ + {FALSE, .u.texture_state = WINED3D_TSS_COLOR_OP}, /* 1, D3DTSS_COLOROP */ + {FALSE, .u.texture_state = WINED3D_TSS_COLOR_ARG1}, /* 2, D3DTSS_COLORARG1 */ + {FALSE, .u.texture_state = WINED3D_TSS_COLOR_ARG2}, /* 3, D3DTSS_COLORARG2 */ + {FALSE, .u.texture_state = WINED3D_TSS_ALPHA_OP}, /* 4, D3DTSS_ALPHAOP */ + {FALSE, .u.texture_state = WINED3D_TSS_ALPHA_ARG1}, /* 5, D3DTSS_ALPHAARG1 */ + {FALSE, .u.texture_state = WINED3D_TSS_ALPHA_ARG2}, /* 6, D3DTSS_ALPHAARG2 */ + {FALSE, .u.texture_state = WINED3D_TSS_BUMPENV_MAT00}, /* 7, D3DTSS_BUMPENVMAT00 */ + {FALSE, .u.texture_state = WINED3D_TSS_BUMPENV_MAT01}, /* 8, D3DTSS_BUMPENVMAT01 */ + {FALSE, .u.texture_state = WINED3D_TSS_BUMPENV_MAT10}, /* 9, D3DTSS_BUMPENVMAT10 */ + {FALSE, .u.texture_state = WINED3D_TSS_BUMPENV_MAT11}, /* 10, D3DTSS_BUMPENVMAT11 */ + {FALSE, .u.texture_state = WINED3D_TSS_TEXCOORD_INDEX}, /* 11, D3DTSS_TEXCOORDINDEX */ + {FALSE, .u.texture_state = WINED3D_TSS_INVALID}, /* 12, unused */ + {TRUE, .u.sampler_state = WINED3D_SAMP_ADDRESS_U}, /* 13, D3DTSS_ADDRESSU */ + {TRUE, .u.sampler_state = WINED3D_SAMP_ADDRESS_V}, /* 14, D3DTSS_ADDRESSV */ + {TRUE, .u.sampler_state = WINED3D_SAMP_BORDER_COLOR}, /* 15, D3DTSS_BORDERCOLOR */ + {TRUE, .u.sampler_state = WINED3D_SAMP_MAG_FILTER}, /* 16, D3DTSS_MAGFILTER */ + {TRUE, .u.sampler_state = WINED3D_SAMP_MIN_FILTER}, /* 17, D3DTSS_MINFILTER */ + {TRUE, .u.sampler_state = WINED3D_SAMP_MIP_FILTER}, /* 18, D3DTSS_MIPFILTER */ + {TRUE, .u.sampler_state = WINED3D_SAMP_MIPMAP_LOD_BIAS}, /* 19, D3DTSS_MIPMAPLODBIAS */ + {TRUE, .u.sampler_state = WINED3D_SAMP_MAX_MIP_LEVEL}, /* 20, D3DTSS_MAXMIPLEVEL */ + {TRUE, .u.sampler_state = WINED3D_SAMP_MAX_ANISOTROPY}, /* 21, D3DTSS_MAXANISOTROPY */ + {FALSE, .u.texture_state = WINED3D_TSS_BUMPENV_LSCALE}, /* 22, D3DTSS_BUMPENVLSCALE */ + {FALSE, .u.texture_state = WINED3D_TSS_BUMPENV_LOFFSET}, /* 23, D3DTSS_BUMPENVLOFFSET */ + {FALSE, .u.texture_state = WINED3D_TSS_TEXTURE_TRANSFORM_FLAGS}, /* 24, D3DTSS_TEXTURETRANSFORMFLAGS */ + {TRUE, .u.sampler_state = WINED3D_SAMP_ADDRESS_W}, /* 25, D3DTSS_ADDRESSW */ + {FALSE, .u.texture_state = WINED3D_TSS_COLOR_ARG0}, /* 26, D3DTSS_COLORARG0 */ + {FALSE, .u.texture_state = WINED3D_TSS_ALPHA_ARG0}, /* 27, D3DTSS_ALPHAARG0 */ + {FALSE, .u.texture_state = WINED3D_TSS_RESULT_ARG}, /* 28, D3DTSS_RESULTARG */ };
static HRESULT WINAPI d3d8_device_GetTextureStageState(IDirect3DDevice8 *iface,
From: Jacek Caban jacek@codeweavers.com
--- dlls/ddraw/device.c | 50 ++++++++++++++++++++++----------------------- 1 file changed, 25 insertions(+), 25 deletions(-)
diff --git a/dlls/ddraw/device.c b/dlls/ddraw/device.c index 78a3f3058e0..bc1d91ee00b 100644 --- a/dlls/ddraw/device.c +++ b/dlls/ddraw/device.c @@ -4723,31 +4723,31 @@ static const struct tss_lookup } tss_lookup[] = { - {FALSE, {WINED3D_TSS_INVALID}}, /* 0, unused */ - {FALSE, {WINED3D_TSS_COLOR_OP}}, /* 1, D3DTSS_COLOROP */ - {FALSE, {WINED3D_TSS_COLOR_ARG1}}, /* 2, D3DTSS_COLORARG1 */ - {FALSE, {WINED3D_TSS_COLOR_ARG2}}, /* 3, D3DTSS_COLORARG2 */ - {FALSE, {WINED3D_TSS_ALPHA_OP}}, /* 4, D3DTSS_ALPHAOP */ - {FALSE, {WINED3D_TSS_ALPHA_ARG1}}, /* 5, D3DTSS_ALPHAARG1 */ - {FALSE, {WINED3D_TSS_ALPHA_ARG2}}, /* 6, D3DTSS_ALPHAARG2 */ - {FALSE, {WINED3D_TSS_BUMPENV_MAT00}}, /* 7, D3DTSS_BUMPENVMAT00 */ - {FALSE, {WINED3D_TSS_BUMPENV_MAT01}}, /* 8, D3DTSS_BUMPENVMAT01 */ - {FALSE, {WINED3D_TSS_BUMPENV_MAT10}}, /* 9, D3DTSS_BUMPENVMAT10 */ - {FALSE, {WINED3D_TSS_BUMPENV_MAT11}}, /* 10, D3DTSS_BUMPENVMAT11 */ - {FALSE, {WINED3D_TSS_TEXCOORD_INDEX}}, /* 11, D3DTSS_TEXCOORDINDEX */ - {TRUE, {WINED3D_SAMP_ADDRESS_U}}, /* 12, D3DTSS_ADDRESS */ - {TRUE, {WINED3D_SAMP_ADDRESS_U}}, /* 13, D3DTSS_ADDRESSU */ - {TRUE, {WINED3D_SAMP_ADDRESS_V}}, /* 14, D3DTSS_ADDRESSV */ - {TRUE, {WINED3D_SAMP_BORDER_COLOR}}, /* 15, D3DTSS_BORDERCOLOR */ - {TRUE, {WINED3D_SAMP_MAG_FILTER}}, /* 16, D3DTSS_MAGFILTER */ - {TRUE, {WINED3D_SAMP_MIN_FILTER}}, /* 17, D3DTSS_MINFILTER */ - {TRUE, {WINED3D_SAMP_MIP_FILTER}}, /* 18, D3DTSS_MIPFILTER */ - {TRUE, {WINED3D_SAMP_MIPMAP_LOD_BIAS}}, /* 19, D3DTSS_MIPMAPLODBIAS */ - {TRUE, {WINED3D_SAMP_MAX_MIP_LEVEL}}, /* 20, D3DTSS_MAXMIPLEVEL */ - {TRUE, {WINED3D_SAMP_MAX_ANISOTROPY}}, /* 21, D3DTSS_MAXANISOTROPY */ - {FALSE, {WINED3D_TSS_BUMPENV_LSCALE}}, /* 22, D3DTSS_BUMPENVLSCALE */ - {FALSE, {WINED3D_TSS_BUMPENV_LOFFSET}}, /* 23, D3DTSS_BUMPENVLOFFSET */ - {FALSE, {WINED3D_TSS_TEXTURE_TRANSFORM_FLAGS}}, /* 24, D3DTSS_TEXTURETRANSFORMFLAGS */ + {FALSE, .u.texture_state = WINED3D_TSS_INVALID}, /* 0, unused */ + {FALSE, .u.texture_state = WINED3D_TSS_COLOR_OP}, /* 1, D3DTSS_COLOROP */ + {FALSE, .u.texture_state = WINED3D_TSS_COLOR_ARG1}, /* 2, D3DTSS_COLORARG1 */ + {FALSE, .u.texture_state = WINED3D_TSS_COLOR_ARG2}, /* 3, D3DTSS_COLORARG2 */ + {FALSE, .u.texture_state = WINED3D_TSS_ALPHA_OP}, /* 4, D3DTSS_ALPHAOP */ + {FALSE, .u.texture_state = WINED3D_TSS_ALPHA_ARG1}, /* 5, D3DTSS_ALPHAARG1 */ + {FALSE, .u.texture_state = WINED3D_TSS_ALPHA_ARG2}, /* 6, D3DTSS_ALPHAARG2 */ + {FALSE, .u.texture_state = WINED3D_TSS_BUMPENV_MAT00}, /* 7, D3DTSS_BUMPENVMAT00 */ + {FALSE, .u.texture_state = WINED3D_TSS_BUMPENV_MAT01}, /* 8, D3DTSS_BUMPENVMAT01 */ + {FALSE, .u.texture_state = WINED3D_TSS_BUMPENV_MAT10}, /* 9, D3DTSS_BUMPENVMAT10 */ + {FALSE, .u.texture_state = WINED3D_TSS_BUMPENV_MAT11}, /* 10, D3DTSS_BUMPENVMAT11 */ + {FALSE, .u.texture_state = WINED3D_TSS_TEXCOORD_INDEX}, /* 11, D3DTSS_TEXCOORDINDEX */ + {TRUE, .u.sampler_state = WINED3D_SAMP_ADDRESS_U}, /* 12, D3DTSS_ADDRESS */ + {TRUE, .u.sampler_state = WINED3D_SAMP_ADDRESS_U}, /* 13, D3DTSS_ADDRESSU */ + {TRUE, .u.sampler_state = WINED3D_SAMP_ADDRESS_V}, /* 14, D3DTSS_ADDRESSV */ + {TRUE, .u.sampler_state = WINED3D_SAMP_BORDER_COLOR}, /* 15, D3DTSS_BORDERCOLOR */ + {TRUE, .u.sampler_state = WINED3D_SAMP_MAG_FILTER}, /* 16, D3DTSS_MAGFILTER */ + {TRUE, .u.sampler_state = WINED3D_SAMP_MIN_FILTER}, /* 17, D3DTSS_MINFILTER */ + {TRUE, .u.sampler_state = WINED3D_SAMP_MIP_FILTER}, /* 18, D3DTSS_MIPFILTER */ + {TRUE, .u.sampler_state = WINED3D_SAMP_MIPMAP_LOD_BIAS}, /* 19, D3DTSS_MIPMAPLODBIAS */ + {TRUE, .u.sampler_state = WINED3D_SAMP_MAX_MIP_LEVEL}, /* 20, D3DTSS_MAXMIPLEVEL */ + {TRUE, .u.sampler_state = WINED3D_SAMP_MAX_ANISOTROPY}, /* 21, D3DTSS_MAXANISOTROPY */ + {FALSE, .u.texture_state = WINED3D_TSS_BUMPENV_LSCALE}, /* 22, D3DTSS_BUMPENVLSCALE */ + {FALSE, .u.texture_state = WINED3D_TSS_BUMPENV_LOFFSET}, /* 23, D3DTSS_BUMPENVLOFFSET */ + {FALSE, .u.texture_state = WINED3D_TSS_TEXTURE_TRANSFORM_FLAGS}, /* 24, D3DTSS_TEXTURETRANSFORMFLAGS */ };
/*****************************************************************************
Looks good, thanks. We could go a step further and use designated initializers for the array elements, e.g.
[D3DTSS_COLOROP] = {FALSE, .u.texture_state = WINED3D_TSS_INVALID}
but that needn't be in scope of this merge request.
This merge request was approved by Zebediah Figura.
This merge request was approved by Jan Sikorski.