mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-05-08 04:48:08 +02:00
glsl: reject size1x8 for image variable with floating-point data types
Fixes:8d07d66180("glsl,nir: Switch the enum representing shader image formats to PIPE_FORMAT.") Reviewed-by: Marek Olšák <marek.olsak@amd.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5688> (cherry picked from commit0c8873d85d)
This commit is contained in:
parent
1d826d63fb
commit
0fea7026b4
2 changed files with 8 additions and 6 deletions
|
|
@ -4423,7 +4423,7 @@
|
|||
"description": "glsl: reject size1x8 for image variable with floating-point data types",
|
||||
"nominated": true,
|
||||
"nomination_type": 1,
|
||||
"resolution": 0,
|
||||
"resolution": 1,
|
||||
"master_sha": null,
|
||||
"because_sha": "8d07d66180b1523d7e70681ca142955f896ebda9"
|
||||
},
|
||||
|
|
|
|||
|
|
@ -4981,12 +4981,14 @@ ast_declarator_list::hir(exec_list *instructions,
|
|||
if (strncmp(this->type->specifier->type_name, "image", strlen("image")) == 0) {
|
||||
switch (this->type->qualifier.image_format) {
|
||||
case PIPE_FORMAT_R8_SINT:
|
||||
/* No valid qualifier in this case, driver will need to look at
|
||||
* the underlying image's format (just like no qualifier being
|
||||
* present).
|
||||
/* The GL_EXT_shader_image_load_store spec says:
|
||||
* A layout of "size1x8" is illegal for image variables associated
|
||||
* with floating-point data types.
|
||||
*/
|
||||
this->type->qualifier.image_format = PIPE_FORMAT_NONE;
|
||||
break;
|
||||
_mesa_glsl_error(& loc, state,
|
||||
"size1x8 is illegal for image variables "
|
||||
"with floating-point data types.");
|
||||
return NULL;
|
||||
case PIPE_FORMAT_R16_SINT:
|
||||
this->type->qualifier.image_format = PIPE_FORMAT_R16_FLOAT;
|
||||
break;
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue