mirror of
https://gitlab.winehq.org/wine/vkd3d.git
synced 2025-09-12 18:50:22 -07:00
vkd3d-shader/msl: Implement VKD3DSGF_FORCE_EARLY_DEPTH_STENCIL.
This commit is contained in:
Notes:
Henri Verbeet
2025-07-14 18:53:23 +02:00
Approved-by: Giovanni Mascellani (@giomasce) Approved-by: Henri Verbeet (@hverbeet) Merge-Request: https://gitlab.winehq.org/wine/vkd3d/-/merge_requests/1609
@@ -1971,6 +1971,8 @@ static void msl_generate_entrypoint(struct msl_generator *gen)
|
|||||||
vkd3d_string_buffer_printf(gen->buffer, "vertex ");
|
vkd3d_string_buffer_printf(gen->buffer, "vertex ");
|
||||||
break;
|
break;
|
||||||
case VKD3D_SHADER_TYPE_PIXEL:
|
case VKD3D_SHADER_TYPE_PIXEL:
|
||||||
|
if (gen->program->global_flags & VKD3DSGF_FORCE_EARLY_DEPTH_STENCIL)
|
||||||
|
vkd3d_string_buffer_printf(gen->buffer, "[[early_fragment_tests]]\n");
|
||||||
vkd3d_string_buffer_printf(gen->buffer, "fragment ");
|
vkd3d_string_buffer_printf(gen->buffer, "fragment ");
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
@@ -2036,7 +2038,7 @@ static int msl_generator_generate(struct msl_generator *gen, struct vkd3d_shader
|
|||||||
vkd3d_string_buffer_printf(gen->buffer, "#include <metal_texture>\n\n");
|
vkd3d_string_buffer_printf(gen->buffer, "#include <metal_texture>\n\n");
|
||||||
vkd3d_string_buffer_printf(gen->buffer, "using namespace metal;\n\n");
|
vkd3d_string_buffer_printf(gen->buffer, "using namespace metal;\n\n");
|
||||||
|
|
||||||
if (gen->program->global_flags & ~VKD3DSGF_REFACTORING_ALLOWED)
|
if (gen->program->global_flags & ~(VKD3DSGF_REFACTORING_ALLOWED | VKD3DSGF_FORCE_EARLY_DEPTH_STENCIL))
|
||||||
msl_compiler_error(gen, VKD3D_SHADER_ERROR_MSL_INTERNAL,
|
msl_compiler_error(gen, VKD3D_SHADER_ERROR_MSL_INTERNAL,
|
||||||
"Internal compiler error: Unhandled global flags %#"PRIx64".", (uint64_t)gen->program->global_flags);
|
"Internal compiler error: Unhandled global flags %#"PRIx64".", (uint64_t)gen->program->global_flags);
|
||||||
|
|
||||||
|
@@ -26,6 +26,6 @@ depth greater equal
|
|||||||
|
|
||||||
clear rtv 0 0.0 0.0 0.0 0.0
|
clear rtv 0 0.0 0.0 0.0 0.0
|
||||||
clear dsv 0.5
|
clear dsv 0.5
|
||||||
todo(msl) draw quad
|
draw quad
|
||||||
probe (0, 0) f32(0, 0, 0, 0)
|
probe (0, 0) f32(0, 0, 0, 0)
|
||||||
probe uav 1 (0) f32(0.0)
|
probe uav 1 (0) f32(0.0)
|
||||||
|
Reference in New Issue
Block a user