mirror of
https://gitlab.winehq.org/wine/vkd3d.git
synced 2024-09-13 09:16:14 -07:00
vkd3d-common: Introduce VKD3D_BITMAP_SIZE.
This commit is contained in:
parent
aa35b2cecb
commit
46fca3f9f4
Notes:
Alexandre Julliard
2024-04-23 22:59:18 +02:00
Approved-by: Giovanni Mascellani (@giomasce) Approved-by: Alexandre Julliard (@julliard) Merge-Request: https://gitlab.winehq.org/wine/vkd3d/-/merge_requests/824
@ -340,6 +340,8 @@ static inline int vkd3d_u32_compare(uint32_t x, uint32_t y)
|
||||
return (x > y) - (x < y);
|
||||
}
|
||||
|
||||
#define VKD3D_BITMAP_SIZE(x) (((x) + 0x1f) >> 5)
|
||||
|
||||
static inline bool bitmap_clear(uint32_t *map, unsigned int idx)
|
||||
{
|
||||
return map[idx >> 5] &= ~(1u << (idx & 0x1f));
|
||||
|
@ -216,7 +216,7 @@ struct vkd3d_shader_sm1_parser
|
||||
struct vkd3d_shader_parser p;
|
||||
|
||||
#define MAX_CONSTANT_COUNT 8192
|
||||
uint32_t constant_def_mask[3][MAX_CONSTANT_COUNT / 32];
|
||||
uint32_t constant_def_mask[3][VKD3D_BITMAP_SIZE(MAX_CONSTANT_COUNT)];
|
||||
};
|
||||
|
||||
/* This table is not order or position dependent. */
|
||||
|
@ -805,7 +805,7 @@ struct sm6_parser
|
||||
struct vkd3d_shader_dst_param *output_params;
|
||||
struct vkd3d_shader_dst_param *input_params;
|
||||
struct vkd3d_shader_dst_param *patch_constant_params;
|
||||
uint32_t io_regs_declared[(VKD3DSPR_COUNT + 0x1f) / 0x20];
|
||||
uint32_t io_regs_declared[VKD3D_BITMAP_SIZE(VKD3DSPR_COUNT)];
|
||||
|
||||
struct sm6_function *functions;
|
||||
size_t function_count;
|
||||
|
@ -2917,8 +2917,7 @@ static enum vkd3d_result vsir_block_init(struct vsir_block *block, unsigned int
|
||||
if (block_count > SIZE_MAX - (sizeof(*block->dominates) * CHAR_BIT - 1))
|
||||
return VKD3D_ERROR_OUT_OF_MEMORY;
|
||||
|
||||
block_count = align(block_count, sizeof(*block->dominates) * CHAR_BIT);
|
||||
byte_count = block_count / CHAR_BIT;
|
||||
byte_count = VKD3D_BITMAP_SIZE(block_count) * sizeof(*block->dominates);
|
||||
|
||||
assert(label);
|
||||
memset(block, 0, sizeof(*block));
|
||||
|
@ -177,7 +177,7 @@ struct shader_runner
|
||||
|
||||
struct resource *resources[MAX_RESOURCES];
|
||||
size_t resource_count;
|
||||
uint32_t failed_resources[RESOURCE_TYPE_VERTEX_BUFFER + 1][(MAX_RESOURCES + 0x1f) / 0x20];
|
||||
uint32_t failed_resources[RESOURCE_TYPE_VERTEX_BUFFER + 1][VKD3D_BITMAP_SIZE(MAX_RESOURCES)];
|
||||
unsigned int failed_resource_count;
|
||||
|
||||
struct sampler samplers[MAX_SAMPLERS];
|
||||
|
Loading…
Reference in New Issue
Block a user