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 ");
|
||||
break;
|
||||
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 ");
|
||||
break;
|
||||
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, "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,
|
||||
"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 dsv 0.5
|
||||
todo(msl) draw quad
|
||||
draw quad
|
||||
probe (0, 0) f32(0, 0, 0, 0)
|
||||
probe uav 1 (0) f32(0.0)
|
||||
|
Reference in New Issue
Block a user