mirror of
https://gitlab.winehq.org/wine/vkd3d.git
synced 2024-11-21 16:46:41 -08:00
vkd3d-shader/fx: Set initial object count to 1 for fx_2_0.
This is used for the object table at runtime. Object variable index is 1-based. Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
This commit is contained in:
parent
501aed43f3
commit
88d9cff407
Notes:
Alexandre Julliard
2024-03-27 23:07:48 +01:00
Approved-by: Giovanni Mascellani (@giomasce) Approved-by: Zebediah Figura (@zfigura) Approved-by: Henri Verbeet (@hverbeet) Approved-by: Alexandre Julliard (@julliard) Merge-Request: https://gitlab.winehq.org/wine/vkd3d/-/merge_requests/729
@ -811,12 +811,13 @@ static const struct fx_write_context_ops fx_2_ops =
|
||||
|
||||
static int hlsl_fx_2_write(struct hlsl_ctx *ctx, struct vkd3d_shader_code *out)
|
||||
{
|
||||
uint32_t offset, size, technique_count, parameter_count;
|
||||
uint32_t offset, size, technique_count, parameter_count, object_count;
|
||||
struct vkd3d_bytecode_buffer buffer = { 0 };
|
||||
struct vkd3d_bytecode_buffer *structured;
|
||||
struct fx_write_context fx;
|
||||
|
||||
fx_write_context_init(ctx, &fx_2_ops, &fx);
|
||||
fx.object_variable_count = 1;
|
||||
structured = &fx.structured;
|
||||
|
||||
/* First entry is always zeroed and skipped. */
|
||||
@ -828,10 +829,11 @@ static int hlsl_fx_2_write(struct hlsl_ctx *ctx, struct vkd3d_shader_code *out)
|
||||
parameter_count = put_u32(structured, 0); /* Parameter count */
|
||||
technique_count = put_u32(structured, 0);
|
||||
put_u32(structured, 0); /* Unknown */
|
||||
put_u32(structured, 0); /* Object count */
|
||||
object_count = put_u32(structured, 0);
|
||||
|
||||
write_fx_2_parameters(&fx);
|
||||
set_u32(structured, parameter_count, fx.parameter_count);
|
||||
set_u32(structured, object_count, fx.object_variable_count);
|
||||
|
||||
write_techniques(ctx->globals, &fx);
|
||||
set_u32(structured, technique_count, fx.technique_count);
|
||||
|
Loading…
Reference in New Issue
Block a user