From 6a2b38381ee90b7fc9584b05b84284c0e609bb6d Mon Sep 17 00:00:00 2001 From: Marek Olšák Date: Sat, 14 Jun 2014 17:58:30 +0200 Subject: radeonsi: pass ARB_conservative_depth parameters to the hardware MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Reviewed-by: Michel Dänzer --- src/gallium/drivers/radeonsi/si_shader.c | 21 ++++++++++++++++++++- 1 file changed, 20 insertions(+), 1 deletion(-) (limited to 'src/gallium/drivers/radeonsi/si_shader.c') diff --git a/src/gallium/drivers/radeonsi/si_shader.c b/src/gallium/drivers/radeonsi/si_shader.c index 4ed5906d178..4c23090e2a0 100644 --- a/src/gallium/drivers/radeonsi/si_shader.c +++ b/src/gallium/drivers/radeonsi/si_shader.c @@ -2745,10 +2745,29 @@ int si_pipe_shader_create( } break; } - case TGSI_PROCESSOR_FRAGMENT: + case TGSI_PROCESSOR_FRAGMENT: { + int i; + si_shader_ctx.radeon_bld.load_input = declare_input_fs; bld_base->emit_epilogue = si_llvm_emit_fs_epilogue; + shader->shader.ps_conservative_z = V_02880C_EXPORT_ANY_Z; + + for (i = 0; i < shader_info.num_properties; i++) { + switch (shader_info.properties[i].name) { + case TGSI_PROPERTY_FS_DEPTH_LAYOUT: + switch (shader_info.properties[i].data[0]) { + case TGSI_FS_DEPTH_LAYOUT_GREATER: + shader->shader.ps_conservative_z = V_02880C_EXPORT_GREATER_THAN_Z; + break; + case TGSI_FS_DEPTH_LAYOUT_LESS: + shader->shader.ps_conservative_z = V_02880C_EXPORT_LESS_THAN_Z; + break; + } + break; + } + } break; + } default: assert(!"Unsupported shader type"); return -1; -- cgit v1.2.3