mirror of
https://gitlab.winehq.org/wine/vkd3d.git
synced 2025-01-28 13:05:02 -08:00
vkd3d-shader/fx: Do not align structured data section.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
This commit is contained in:
parent
c107ec03b8
commit
315b7c5a42
Notes:
Alexandre Julliard
2024-02-19 22:59:31 +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/636
@ -690,8 +690,8 @@ static void write_buffers(struct fx_write_context *fx)
|
||||
static int hlsl_fx_4_write(struct hlsl_ctx *ctx, struct vkd3d_shader_code *out)
|
||||
{
|
||||
struct vkd3d_bytecode_buffer buffer = { 0 };
|
||||
uint32_t size_offset, size;
|
||||
struct fx_write_context fx;
|
||||
uint32_t size_offset;
|
||||
|
||||
fx_write_context_init(ctx, &fx_4_ops, &fx);
|
||||
|
||||
@ -724,11 +724,10 @@ static int hlsl_fx_4_write(struct hlsl_ctx *ctx, struct vkd3d_shader_code *out)
|
||||
put_u32(&buffer, 0); /* Shader count. */
|
||||
put_u32(&buffer, 0); /* Inline shader count. */
|
||||
|
||||
size = align(fx.unstructured.size, 4);
|
||||
set_u32(&buffer, size_offset, size);
|
||||
set_u32(&buffer, size_offset, fx.unstructured.size);
|
||||
|
||||
bytecode_put_bytes(&buffer, fx.unstructured.data, fx.unstructured.size);
|
||||
bytecode_put_bytes(&buffer, fx.structured.data, fx.structured.size);
|
||||
bytecode_put_bytes_unaligned(&buffer, fx.structured.data, fx.structured.size);
|
||||
|
||||
vkd3d_free(fx.unstructured.data);
|
||||
vkd3d_free(fx.structured.data);
|
||||
@ -750,8 +749,8 @@ static int hlsl_fx_4_write(struct hlsl_ctx *ctx, struct vkd3d_shader_code *out)
|
||||
static int hlsl_fx_5_write(struct hlsl_ctx *ctx, struct vkd3d_shader_code *out)
|
||||
{
|
||||
struct vkd3d_bytecode_buffer buffer = { 0 };
|
||||
uint32_t size_offset, size;
|
||||
struct fx_write_context fx;
|
||||
uint32_t size_offset;
|
||||
|
||||
fx_write_context_init(ctx, &fx_4_ops, &fx);
|
||||
|
||||
@ -788,11 +787,10 @@ static int hlsl_fx_5_write(struct hlsl_ctx *ctx, struct vkd3d_shader_code *out)
|
||||
put_u32(&buffer, 0); /* Interface variable element count. */
|
||||
put_u32(&buffer, 0); /* Class instance elements count. */
|
||||
|
||||
size = align(fx.unstructured.size, 4);
|
||||
set_u32(&buffer, size_offset, size);
|
||||
set_u32(&buffer, size_offset, fx.unstructured.size);
|
||||
|
||||
bytecode_put_bytes(&buffer, fx.unstructured.data, fx.unstructured.size);
|
||||
bytecode_put_bytes(&buffer, fx.structured.data, fx.structured.size);
|
||||
bytecode_put_bytes_unaligned(&buffer, fx.structured.data, fx.structured.size);
|
||||
|
||||
vkd3d_free(fx.unstructured.data);
|
||||
vkd3d_free(fx.structured.data);
|
||||
|
Loading…
x
Reference in New Issue
Block a user