mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-05-08 13:28:06 +02:00
radeonsi: fix tess levels coming as scalar arrays from SPIR-V
This fixes: KHR-GL45.gl_spirv.spirv_modules_positive_test Fixes:75ce078a0a"radeonsi: enable NIR by default and document GL 4.6 support" Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6460> (cherry picked from commita61890883d)
This commit is contained in:
parent
d4056d25d1
commit
10571677e5
2 changed files with 8 additions and 2 deletions
|
|
@ -904,7 +904,7 @@
|
|||
"description": "radeonsi: fix tess levels coming as scalar arrays from SPIR-V",
|
||||
"nominated": true,
|
||||
"nomination_type": 1,
|
||||
"resolution": 0,
|
||||
"resolution": 1,
|
||||
"master_sha": null,
|
||||
"because_sha": "75ce078a0aff7fa0f4d6467bea787327da3a4b69"
|
||||
},
|
||||
|
|
|
|||
|
|
@ -513,7 +513,7 @@ static void si_nir_store_output_tcs(struct ac_shader_abi *abi, const struct nir_
|
|||
{
|
||||
struct si_shader_context *ctx = si_shader_context_from_abi(abi);
|
||||
struct si_shader_info *info = &ctx->shader->selector->info;
|
||||
const unsigned component = var->data.location_frac;
|
||||
unsigned component = var->data.location_frac;
|
||||
unsigned driver_location = var->data.driver_location;
|
||||
LLVMValueRef dw_addr, stride;
|
||||
LLVMValueRef buffer, base, addr;
|
||||
|
|
@ -521,6 +521,12 @@ static void si_nir_store_output_tcs(struct ac_shader_abi *abi, const struct nir_
|
|||
bool skip_lds_store;
|
||||
bool is_tess_factor = false, is_tess_inner = false;
|
||||
|
||||
if (var->data.compact) {
|
||||
component += const_index;
|
||||
writemask <<= const_index;
|
||||
const_index = 0;
|
||||
}
|
||||
|
||||
driver_location = driver_location / 4;
|
||||
ubyte name = info->output_semantic_name[driver_location];
|
||||
ubyte index = info->output_semantic_index[driver_location];
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue