radv: Use new, NIR-based I/O lowering.
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com> Reviewed-by: Rhys Perry <pendingchaos02@gmail.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9201>
This commit is contained in:
@@ -860,6 +860,35 @@ load_patch_vertices_in(struct ac_shader_abi *abi)
|
||||
return LLVMConstInt(ctx->ac.i32, ctx->args->options->key.tcs.input_vertices, false);
|
||||
}
|
||||
|
||||
static LLVMValueRef
|
||||
load_ring_tess_factors(struct ac_shader_abi *abi)
|
||||
{
|
||||
struct radv_shader_context *ctx = radv_shader_context_from_abi(abi);
|
||||
assert(ctx->stage == MESA_SHADER_TESS_CTRL);
|
||||
|
||||
return ctx->hs_ring_tess_factor;
|
||||
}
|
||||
|
||||
static LLVMValueRef
|
||||
load_ring_tess_offchip(struct ac_shader_abi *abi)
|
||||
{
|
||||
struct radv_shader_context *ctx = radv_shader_context_from_abi(abi);
|
||||
assert(ctx->stage == MESA_SHADER_TESS_CTRL ||
|
||||
ctx->stage == MESA_SHADER_TESS_EVAL);
|
||||
|
||||
return ctx->hs_ring_tess_offchip;
|
||||
}
|
||||
|
||||
static LLVMValueRef
|
||||
load_ring_esgs(struct ac_shader_abi *abi)
|
||||
{
|
||||
struct radv_shader_context *ctx = radv_shader_context_from_abi(abi);
|
||||
assert(ctx->stage == MESA_SHADER_VERTEX ||
|
||||
ctx->stage == MESA_SHADER_TESS_EVAL ||
|
||||
ctx->stage == MESA_SHADER_GEOMETRY);
|
||||
|
||||
return ctx->esgs_ring;
|
||||
}
|
||||
|
||||
static LLVMValueRef radv_load_base_vertex(struct ac_shader_abi *abi, bool non_indexed_is_zero)
|
||||
{
|
||||
@@ -3498,7 +3527,6 @@ write_tess_factors(struct radv_shader_context *ctx)
|
||||
static void
|
||||
handle_tcs_outputs_post(struct radv_shader_context *ctx)
|
||||
{
|
||||
write_tess_factors(ctx);
|
||||
}
|
||||
|
||||
static bool
|
||||
@@ -3902,6 +3930,9 @@ LLVMModuleRef ac_translate_nir_to_llvm(struct ac_llvm_compiler *ac_llvm,
|
||||
ctx.abi.load_ssbo = radv_load_ssbo;
|
||||
ctx.abi.load_sampler_desc = radv_get_sampler_desc;
|
||||
ctx.abi.load_resource = radv_load_resource;
|
||||
ctx.abi.load_ring_tess_factors = load_ring_tess_factors;
|
||||
ctx.abi.load_ring_tess_offchip = load_ring_tess_offchip;
|
||||
ctx.abi.load_ring_esgs = load_ring_esgs;
|
||||
ctx.abi.clamp_shadow_reference = false;
|
||||
ctx.abi.adjust_frag_coord_z = args->options->adjust_frag_coord_z;
|
||||
ctx.abi.robust_buffer_access = args->options->robust_buffer_access;
|
||||
|
Reference in New Issue
Block a user