mirror of
https://gitlab.winehq.org/wine/vkd3d.git
synced 2025-04-13 05:43:18 -07:00
vkd3d-shader/spirv: Emit an error if COUNTBITS has a 64-bit source.
This commit is contained in:
committed by
Alexandre Julliard
parent
a686fa7750
commit
a64eb75c1d
Notes:
Alexandre Julliard
2024-03-13 22:17:16 +01:00
Approved-by: Giovanni Mascellani (@giomasce) Approved-by: Henri Verbeet (@hverbeet) Approved-by: Alexandre Julliard (@julliard) Merge-Request: https://gitlab.winehq.org/wine/vkd3d/-/merge_requests/713
@ -7020,6 +7020,15 @@ static enum vkd3d_result spirv_compiler_emit_alu_instruction(struct spirv_compil
|
|||||||
SpvOp op = SpvOpMax;
|
SpvOp op = SpvOpMax;
|
||||||
unsigned int i;
|
unsigned int i;
|
||||||
|
|
||||||
|
if (src->reg.data_type == VKD3D_DATA_UINT64 && instruction->handler_idx == VKD3DSIH_COUNTBITS)
|
||||||
|
{
|
||||||
|
/* At least some drivers support this anyway, but if validation is enabled it will fail. */
|
||||||
|
FIXME("Unsupported 64-bit source for bit count.\n");
|
||||||
|
spirv_compiler_error(compiler, VKD3D_SHADER_ERROR_SPV_NOT_IMPLEMENTED,
|
||||||
|
"64-bit source for bit count is not supported.");
|
||||||
|
return VKD3D_ERROR_INVALID_SHADER;
|
||||||
|
}
|
||||||
|
|
||||||
if (src->reg.data_type == VKD3D_DATA_BOOL)
|
if (src->reg.data_type == VKD3D_DATA_BOOL)
|
||||||
{
|
{
|
||||||
if (dst->reg.data_type == VKD3D_DATA_BOOL)
|
if (dst->reg.data_type == VKD3D_DATA_BOOL)
|
||||||
|
Reference in New Issue
Block a user