radeonsi: implement TGSI_SEMANTIC_HELPER_INVOCATION
Depends on LLVM support introduced in r267102. Reviewed-by: Marek Olšák <marek.olsak@amd.com>
This commit is contained in:
@@ -248,7 +248,7 @@ GLES3.1, GLSL ES 3.1
|
|||||||
glMemoryBarrierByRegion DONE
|
glMemoryBarrierByRegion DONE
|
||||||
glGetTexLevelParameter[fi]v - needs updates DONE
|
glGetTexLevelParameter[fi]v - needs updates DONE
|
||||||
glGetBooleani_v - restrict to GLES enums
|
glGetBooleani_v - restrict to GLES enums
|
||||||
gl_HelperInvocation support DONE (i965, nvc0, r600)
|
gl_HelperInvocation support DONE (i965, nvc0, r600, radeonsi)
|
||||||
|
|
||||||
GLES3.2, GLSL ES 3.2
|
GLES3.2, GLSL ES 3.2
|
||||||
GL_EXT_color_buffer_float DONE (all drivers)
|
GL_EXT_color_buffer_float DONE (all drivers)
|
||||||
|
@@ -1333,6 +1333,17 @@ static void declare_system_value(
|
|||||||
value = LLVMGetParam(radeon_bld->main_fn, SI_PARAM_THREAD_ID);
|
value = LLVMGetParam(radeon_bld->main_fn, SI_PARAM_THREAD_ID);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
#if HAVE_LLVM >= 0x0309
|
||||||
|
case TGSI_SEMANTIC_HELPER_INVOCATION:
|
||||||
|
value = lp_build_intrinsic(gallivm->builder,
|
||||||
|
"llvm.amdgcn.ps.live",
|
||||||
|
ctx->i1, NULL, 0,
|
||||||
|
LLVMReadNoneAttribute | LLVMNoUnwindAttribute);
|
||||||
|
value = LLVMBuildNot(gallivm->builder, value, "");
|
||||||
|
value = LLVMBuildSExt(gallivm->builder, value, ctx->i32, "");
|
||||||
|
break;
|
||||||
|
#endif
|
||||||
|
|
||||||
default:
|
default:
|
||||||
assert(!"unknown system value");
|
assert(!"unknown system value");
|
||||||
return;
|
return;
|
||||||
|
Reference in New Issue
Block a user