浏览代码

radv/ac: fix some fp16 handling

Fixes: b722b29f10 ("radv: add support for 16bit input/output")

Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
tags/19.0-branchpoint
Timothy Arceri 6 年前
父节点
当前提交
0907ae35ad
共有 2 个文件被更改,包括 2 次插入2 次删除
  1. 1
    1
      src/amd/common/ac_nir_to_llvm.c
  2. 1
    1
      src/amd/vulkan/radv_nir_to_llvm.c

+ 1
- 1
src/amd/common/ac_nir_to_llvm.c 查看文件

@@ -3980,7 +3980,7 @@ ac_handle_shader_output_decl(struct ac_llvm_context *ctx,
}
}

bool is_16bit = glsl_type_is_16bit(variable->type);
bool is_16bit = glsl_type_is_16bit(glsl_without_array(variable->type));
LLVMTypeRef type = is_16bit ? ctx->f16 : ctx->f32;
for (unsigned i = 0; i < attrib_count; ++i) {
for (unsigned chan = 0; chan < 4; chan++) {

+ 1
- 1
src/amd/vulkan/radv_nir_to_llvm.c 查看文件

@@ -2166,7 +2166,7 @@ handle_fs_input_decl(struct radv_shader_context *ctx,

interp = lookup_interp_param(&ctx->abi, variable->data.interpolation, interp_type);
}
bool is_16bit = glsl_type_is_16bit(variable->type);
bool is_16bit = glsl_type_is_16bit(glsl_without_array(variable->type));
LLVMTypeRef type = is_16bit ? ctx->ac.i16 : ctx->ac.i32;
if (interp == NULL)
interp = LLVMGetUndef(type);

正在加载...
取消
保存