--- src/intel/compiler/brw_fs_nir.cpp | 5 +- src/intel/compiler/brw_fs_surface_builder.cpp | 90 +++++++++++++-------------- src/intel/compiler/brw_fs_surface_builder.h | 4 +- 3 files changed, 50 insertions(+), 49 deletions(-)
diff --git a/src/intel/compiler/brw_fs_nir.cpp b/src/intel/compiler/brw_fs_nir.cpp index a9dce42..e698575 100644 --- a/src/intel/compiler/brw_fs_nir.cpp +++ b/src/intel/compiler/brw_fs_nir.cpp @@ -3592,7 +3592,7 @@ fs_visitor::nir_emit_intrinsic(const fs_builder &bld, nir_intrinsic_instr *instr const nir_intrinsic_info *info = &nir_intrinsic_infos[instr->intrinsic]; const unsigned arr_dims = type->sampler_array ? 1 : 0; const unsigned surf_dims = type->coordinate_components() - arr_dims; - const unsigned format = var->data.image.format; + const gl_image_format format = var->data.image.format; /* Get the arguments of the image intrinsic. */ const fs_reg image = get_nir_image_deref(instr->variables[0]); @@ -3612,7 +3612,8 @@ fs_visitor::nir_emit_intrinsic(const fs_builder &bld, nir_intrinsic_instr *instr else if (instr->intrinsic == nir_intrinsic_image_store) emit_image_store(bld, image, addr, src0, surf_dims, arr_dims, - var->data.image.write_only ? GL_NONE : format); + var->data.image.write_only ? IMAGE_FORMAT_NONE : + format); else tmp = emit_image_atomic(bld, image, addr, src0, src1, diff --git a/src/intel/compiler/brw_fs_surface_builder.cpp b/src/intel/compiler/brw_fs_surface_builder.cpp index 8990a5c..f2390ac 100644 --- a/src/intel/compiler/brw_fs_surface_builder.cpp +++ b/src/intel/compiler/brw_fs_surface_builder.cpp @@ -170,49 +170,49 @@ namespace { * enum before we can use them. */ enum isl_format - isl_format_for_gl_format(uint32_t gl_format) + isl_format_for_image_format(gl_image_format gl_format) { switch (gl_format) { - case GL_R8: return ISL_FORMAT_R8_UNORM; - case GL_R8_SNORM: return ISL_FORMAT_R8_SNORM; - case GL_R8UI: return ISL_FORMAT_R8_UINT; - case GL_R8I: return ISL_FORMAT_R8_SINT; - case GL_RG8: return ISL_FORMAT_R8G8_UNORM; - case GL_RG8_SNORM: return ISL_FORMAT_R8G8_SNORM; - case GL_RG8UI: return ISL_FORMAT_R8G8_UINT; - case GL_RG8I: return ISL_FORMAT_R8G8_SINT; - case GL_RGBA8: return ISL_FORMAT_R8G8B8A8_UNORM; - case GL_RGBA8_SNORM: return ISL_FORMAT_R8G8B8A8_SNORM; - case GL_RGBA8UI: return ISL_FORMAT_R8G8B8A8_UINT; - case GL_RGBA8I: return ISL_FORMAT_R8G8B8A8_SINT; - case GL_R11F_G11F_B10F: return ISL_FORMAT_R11G11B10_FLOAT; - case GL_RGB10_A2: return ISL_FORMAT_R10G10B10A2_UNORM; - case GL_RGB10_A2UI: return ISL_FORMAT_R10G10B10A2_UINT; - case GL_R16: return ISL_FORMAT_R16_UNORM; - case GL_R16_SNORM: return ISL_FORMAT_R16_SNORM; - case GL_R16F: return ISL_FORMAT_R16_FLOAT; - case GL_R16UI: return ISL_FORMAT_R16_UINT; - case GL_R16I: return ISL_FORMAT_R16_SINT; - case GL_RG16: return ISL_FORMAT_R16G16_UNORM; - case GL_RG16_SNORM: return ISL_FORMAT_R16G16_SNORM; - case GL_RG16F: return ISL_FORMAT_R16G16_FLOAT; - case GL_RG16UI: return ISL_FORMAT_R16G16_UINT; - case GL_RG16I: return ISL_FORMAT_R16G16_SINT; - case GL_RGBA16: return ISL_FORMAT_R16G16B16A16_UNORM; - case GL_RGBA16_SNORM: return ISL_FORMAT_R16G16B16A16_SNORM; - case GL_RGBA16F: return ISL_FORMAT_R16G16B16A16_FLOAT; - case GL_RGBA16UI: return ISL_FORMAT_R16G16B16A16_UINT; - case GL_RGBA16I: return ISL_FORMAT_R16G16B16A16_SINT; - case GL_R32F: return ISL_FORMAT_R32_FLOAT; - case GL_R32UI: return ISL_FORMAT_R32_UINT; - case GL_R32I: return ISL_FORMAT_R32_SINT; - case GL_RG32F: return ISL_FORMAT_R32G32_FLOAT; - case GL_RG32UI: return ISL_FORMAT_R32G32_UINT; - case GL_RG32I: return ISL_FORMAT_R32G32_SINT; - case GL_RGBA32F: return ISL_FORMAT_R32G32B32A32_FLOAT; - case GL_RGBA32UI: return ISL_FORMAT_R32G32B32A32_UINT; - case GL_RGBA32I: return ISL_FORMAT_R32G32B32A32_SINT; - case GL_NONE: return ISL_FORMAT_UNSUPPORTED; + case IMAGE_FORMAT_R8: return ISL_FORMAT_R8_UNORM; + case IMAGE_FORMAT_R8_SNORM: return ISL_FORMAT_R8_SNORM; + case IMAGE_FORMAT_R8UI: return ISL_FORMAT_R8_UINT; + case IMAGE_FORMAT_R8I: return ISL_FORMAT_R8_SINT; + case IMAGE_FORMAT_RG8: return ISL_FORMAT_R8G8_UNORM; + case IMAGE_FORMAT_RG8_SNORM: return ISL_FORMAT_R8G8_SNORM; + case IMAGE_FORMAT_RG8UI: return ISL_FORMAT_R8G8_UINT; + case IMAGE_FORMAT_RG8I: return ISL_FORMAT_R8G8_SINT; + case IMAGE_FORMAT_RGBA8: return ISL_FORMAT_R8G8B8A8_UNORM; + case IMAGE_FORMAT_RGBA8_SNORM: return ISL_FORMAT_R8G8B8A8_SNORM; + case IMAGE_FORMAT_RGBA8UI: return ISL_FORMAT_R8G8B8A8_UINT; + case IMAGE_FORMAT_RGBA8I: return ISL_FORMAT_R8G8B8A8_SINT; + case IMAGE_FORMAT_R11F_G11F_B10F: return ISL_FORMAT_R11G11B10_FLOAT; + case IMAGE_FORMAT_RGB10_A2: return ISL_FORMAT_R10G10B10A2_UNORM; + case IMAGE_FORMAT_RGB10_A2UI: return ISL_FORMAT_R10G10B10A2_UINT; + case IMAGE_FORMAT_R16: return ISL_FORMAT_R16_UNORM; + case IMAGE_FORMAT_R16_SNORM: return ISL_FORMAT_R16_SNORM; + case IMAGE_FORMAT_R16F: return ISL_FORMAT_R16_FLOAT; + case IMAGE_FORMAT_R16UI: return ISL_FORMAT_R16_UINT; + case IMAGE_FORMAT_R16I: return ISL_FORMAT_R16_SINT; + case IMAGE_FORMAT_RG16: return ISL_FORMAT_R16G16_UNORM; + case IMAGE_FORMAT_RG16_SNORM: return ISL_FORMAT_R16G16_SNORM; + case IMAGE_FORMAT_RG16F: return ISL_FORMAT_R16G16_FLOAT; + case IMAGE_FORMAT_RG16UI: return ISL_FORMAT_R16G16_UINT; + case IMAGE_FORMAT_RG16I: return ISL_FORMAT_R16G16_SINT; + case IMAGE_FORMAT_RGBA16: return ISL_FORMAT_R16G16B16A16_UNORM; + case IMAGE_FORMAT_RGBA16_SNORM: return ISL_FORMAT_R16G16B16A16_SNORM; + case IMAGE_FORMAT_RGBA16F: return ISL_FORMAT_R16G16B16A16_FLOAT; + case IMAGE_FORMAT_RGBA16UI: return ISL_FORMAT_R16G16B16A16_UINT; + case IMAGE_FORMAT_RGBA16I: return ISL_FORMAT_R16G16B16A16_SINT; + case IMAGE_FORMAT_R32F: return ISL_FORMAT_R32_FLOAT; + case IMAGE_FORMAT_R32UI: return ISL_FORMAT_R32_UINT; + case IMAGE_FORMAT_R32I: return ISL_FORMAT_R32_SINT; + case IMAGE_FORMAT_RG32F: return ISL_FORMAT_R32G32_FLOAT; + case IMAGE_FORMAT_RG32UI: return ISL_FORMAT_R32G32_UINT; + case IMAGE_FORMAT_RG32I: return ISL_FORMAT_R32G32_SINT; + case IMAGE_FORMAT_RGBA32F: return ISL_FORMAT_R32G32B32A32_FLOAT; + case IMAGE_FORMAT_RGBA32UI: return ISL_FORMAT_R32G32B32A32_UINT; + case IMAGE_FORMAT_RGBA32I: return ISL_FORMAT_R32G32B32A32_SINT; + case IMAGE_FORMAT_NONE: return ISL_FORMAT_UNSUPPORTED; default: assert(!"Invalid image format"); return ISL_FORMAT_UNSUPPORTED; @@ -955,7 +955,7 @@ namespace brw { emit_image_load(const fs_builder &bld, const fs_reg &image, const fs_reg &addr, unsigned surf_dims, unsigned arr_dims, - unsigned gl_format) + gl_image_format gl_format) { using namespace image_format_info; using namespace image_format_conversion; @@ -963,7 +963,7 @@ namespace brw { using namespace image_coordinates; using namespace surface_access; const gen_device_info *devinfo = bld.shader->devinfo; - const isl_format format = isl_format_for_gl_format(gl_format); + const isl_format format = isl_format_for_image_format(gl_format); const isl_format lower_format = isl_lower_storage_image_format(devinfo, format); fs_reg tmp; @@ -1063,14 +1063,14 @@ namespace brw { emit_image_store(const fs_builder &bld, const fs_reg &image, const fs_reg &addr, const fs_reg &src, unsigned surf_dims, unsigned arr_dims, - unsigned gl_format) + gl_image_format gl_format) { using namespace image_format_info; using namespace image_format_conversion; using namespace image_validity; using namespace image_coordinates; using namespace surface_access; - const isl_format format = isl_format_for_gl_format(gl_format); + const isl_format format = isl_format_for_image_format(gl_format); const gen_device_info *devinfo = bld.shader->devinfo; /* Transform the image coordinates into actual surface coordinates. */ diff --git a/src/intel/compiler/brw_fs_surface_builder.h b/src/intel/compiler/brw_fs_surface_builder.h index 32b56d3..1d90eca 100644 --- a/src/intel/compiler/brw_fs_surface_builder.h +++ b/src/intel/compiler/brw_fs_surface_builder.h @@ -70,13 +70,13 @@ namespace brw { emit_image_load(const fs_builder &bld, const fs_reg &image, const fs_reg &addr, unsigned surf_dims, unsigned arr_dims, - unsigned gl_format); + gl_image_format gl_format); void emit_image_store(const fs_builder &bld, const fs_reg &image, const fs_reg &addr, const fs_reg &src, unsigned surf_dims, unsigned arr_dims, - unsigned gl_format); + gl_image_format gl_format); fs_reg emit_image_atomic(const fs_builder &bld, const fs_reg &image, const fs_reg &addr, -- 2.5.0.400.gff86faf _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev