mirror of
https://gitlab.winehq.org/wine/vkd3d.git
synced 2025-01-28 13:05:02 -08:00
vkd3d-shader/hlsl: Write the SHDR token count.
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com> Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com> Signed-off-by: Matteo Bruni <mbruni@codeweavers.com> Signed-off-by: Alexandre Julliard <julliard@winehq.org>
This commit is contained in:
parent
636ec27381
commit
864e816de8
@ -791,6 +791,7 @@ static void write_sm4_shdr(struct hlsl_ctx *ctx, struct dxbc_writer *dxbc)
|
||||
struct vkd3d_bytecode_buffer buffer = {0};
|
||||
const struct hlsl_buffer *cbuffer;
|
||||
const struct hlsl_ir_var *var;
|
||||
size_t token_count_position;
|
||||
|
||||
static const uint16_t shader_types[VKD3D_SHADER_TYPE_COUNT] =
|
||||
{
|
||||
@ -806,7 +807,7 @@ static void write_sm4_shdr(struct hlsl_ctx *ctx, struct dxbc_writer *dxbc)
|
||||
};
|
||||
|
||||
put_u32(&buffer, vkd3d_make_u32((profile->major_version << 4) | profile->minor_version, shader_types[profile->type]));
|
||||
put_u32(&buffer, 0); /* FIXME: instruction token count */
|
||||
token_count_position = put_u32(&buffer, 0);
|
||||
|
||||
LIST_FOR_EACH_ENTRY(cbuffer, &ctx->buffers, struct hlsl_buffer, entry)
|
||||
{
|
||||
@ -825,6 +826,8 @@ static void write_sm4_shdr(struct hlsl_ctx *ctx, struct dxbc_writer *dxbc)
|
||||
|
||||
write_sm4_ret(&buffer);
|
||||
|
||||
set_u32(&buffer, token_count_position, bytecode_get_size(&buffer) / sizeof(uint32_t));
|
||||
|
||||
dxbc_writer_add_section(dxbc, TAG_SHDR, buffer.data, buffer.size);
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user