vkd3d/libs
Shaun Ren 069b8aac64 vkd3d-shader/hlsl: Implement struct single inheritance.
Here, we implement single inheritance by inserting a field at the
beginning of the derived struct with name "$super".

For the following struct declarations

  struct a
  {
      float4 aa;
      float4 bb;
  };

  struct b : a
  {
      float4 cc;
  };

  struct c : b
  {
      float4 bb;
  };

this commit generates the following:

  struct a
  {
      float4 aa;
      float4 bb;
  };

  struct b
  {
      struct a $super;
      float4 cc;
  };

  struct c
  {
      struct b $super;
      float4 bb;
  };
2024-10-16 21:07:53 +02:00
..
vkd3d vkd3d: Clear the output pointer on failure in vkd3d_create_versioned_root_signature_deserializer(). 2024-09-24 13:34:40 +02:00
vkd3d-common vkd3d-common: Replace assert() with VKD3D_ASSERT(). 2024-08-13 21:20:28 +02:00
vkd3d-shader vkd3d-shader/hlsl: Implement struct single inheritance. 2024-10-16 21:07:53 +02:00
vkd3d-utils vkd3d-utils: Store the actual serialisation return value in D3DStripShader(). 2024-09-30 20:57:15 +02:00
.gitignore libs/vkd3d: Trace build version. 2018-06-27 22:43:49 +02:00