From e09434047d67f8b988b1e607cf3ea3d7124ad905 Mon Sep 17 00:00:00 2001 From: Samuel Pitoiset Date: Sun, 27 Mar 2016 22:47:37 +0200 Subject: [PATCH] nv50/ir: enable early fragment test with explicit user control This feature can be enabled in two ways: as an optimization and by explicit user control (with OpenGL 4.2 or ARB_shader_image_load_store). This makes use of the recent TGSI_PROPERTY_FS_EARLY_DEPTH_STENCIL to force early fragment tests when needed. This fixes a bunch of dEQP-GLES31.functional.image_load_store.early_fragment_tests.* tests. Signed-off-by: Samuel Pitoiset Reviewed-by: Ilia Mirkin --- src/gallium/drivers/nouveau/codegen/nv50_ir_from_tgsi.cpp | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/gallium/drivers/nouveau/codegen/nv50_ir_from_tgsi.cpp b/src/gallium/drivers/nouveau/codegen/nv50_ir_from_tgsi.cpp index 22aea71f5c8..e57761fd0e2 100644 --- a/src/gallium/drivers/nouveau/codegen/nv50_ir_from_tgsi.cpp +++ b/src/gallium/drivers/nouveau/codegen/nv50_ir_from_tgsi.cpp @@ -1052,6 +1052,9 @@ void Source::scanProperty(const struct tgsi_full_property *prop) case TGSI_PROPERTY_NEXT_SHADER: /* Do not need to know the next shader stage. */ break; + case TGSI_PROPERTY_FS_EARLY_DEPTH_STENCIL: + info->prop.fp.earlyFragTests = prop->u[0].Data; + break; default: INFO("unhandled TGSI property %d\n", prop->Property.PropertyName); break; -- 2.30.2