diff --git a/framework/decode/custom_dx12_struct_decoders.cpp b/framework/decode/custom_dx12_struct_decoders.cpp index 593f75f6e3..082e7c2d07 100644 --- a/framework/decode/custom_dx12_struct_decoders.cpp +++ b/framework/decode/custom_dx12_struct_decoders.cpp @@ -582,6 +582,11 @@ DecodeStruct(const uint8_t* buffer, size_t buffer_size, Decoded_D3D12_VERSIONED_ wrapper->Dred_1_2->decoded_value = &(value->Dred_1_2); bytes_read += DecodeStruct((buffer + bytes_read), (buffer_size - bytes_read), wrapper->Dred_1_2); break; + case D3D12_DRED_VERSION_1_3: + wrapper->Dred_1_3 = DecodeAllocator::Allocate(); + wrapper->Dred_1_3->decoded_value = &(value->Dred_1_3); + bytes_read += DecodeStruct((buffer + bytes_read), (buffer_size - bytes_read), wrapper->Dred_1_3); + break; } return bytes_read; diff --git a/framework/decode/custom_dx12_struct_decoders.h b/framework/decode/custom_dx12_struct_decoders.h index a11c0f792b..027a1fa907 100644 --- a/framework/decode/custom_dx12_struct_decoders.h +++ b/framework/decode/custom_dx12_struct_decoders.h @@ -182,6 +182,7 @@ struct Decoded_D3D12_VERSIONED_DEVICE_REMOVED_EXTENDED_DATA Decoded_D3D12_DEVICE_REMOVED_EXTENDED_DATA* Dred_1_0{ nullptr }; Decoded_D3D12_DEVICE_REMOVED_EXTENDED_DATA1* Dred_1_1{ nullptr }; Decoded_D3D12_DEVICE_REMOVED_EXTENDED_DATA2* Dred_1_2{ nullptr }; + Decoded_D3D12_DEVICE_REMOVED_EXTENDED_DATA3* Dred_1_3{ nullptr }; }; struct Decoded_D3D12_RENDER_PASS_BEGINNING_ACCESS diff --git a/framework/encode/custom_dx12_struct_encoders.cpp b/framework/encode/custom_dx12_struct_encoders.cpp index c309690d2f..c6797e69f9 100644 --- a/framework/encode/custom_dx12_struct_encoders.cpp +++ b/framework/encode/custom_dx12_struct_encoders.cpp @@ -385,6 +385,9 @@ void EncodeStruct(ParameterEncoder* encoder, const D3D12_VERSIONED_DEVICE_REMOVE case D3D12_DRED_VERSION_1_2: EncodeStruct(encoder, value.Dred_1_2); break; + case D3D12_DRED_VERSION_1_3: + EncodeStruct(encoder, value.Dred_1_3); + break; default: break; } diff --git a/framework/generated/dx12_generators/dx12_struct_decoders_to_json_body_generator.py b/framework/generated/dx12_generators/dx12_struct_decoders_to_json_body_generator.py index f1d011b2da..b42db95f63 100644 --- a/framework/generated/dx12_generators/dx12_struct_decoders_to_json_body_generator.py +++ b/framework/generated/dx12_generators/dx12_struct_decoders_to_json_body_generator.py @@ -650,10 +650,7 @@ def makeUnionFieldToJson(self, properties, struct_name, union_index): } case D3D12_DRED_VERSION_1_3: { - // This field was missing in the custom struct at time of writing. - // See issue and revise this codegen by uncommenting line below when the issue - // is fixed - // FieldToJson(jdata["Dred_1_3"], meta_struct.Dred_1_3, options); + FieldToJson(jdata["Dred_1_3"], meta_struct.Dred_1_3, options); FieldToJson(jdata[format::kNameWarning], "Dred_1_3 is not supported by GFXR at this time. Please file an issue quoting this text if this is a blocker for you.", options); break; } diff --git a/framework/generated/generated_dx12_struct_decoders_to_json.cpp b/framework/generated/generated_dx12_struct_decoders_to_json.cpp index 6b4197e9f8..55c231e5cd 100644 --- a/framework/generated/generated_dx12_struct_decoders_to_json.cpp +++ b/framework/generated/generated_dx12_struct_decoders_to_json.cpp @@ -3972,10 +3972,7 @@ void FieldToJson(nlohmann::ordered_json& jdata, const Decoded_D3D12_VERSIONED_DE } case D3D12_DRED_VERSION_1_3: { - // This field was missing in the custom struct at time of writing. - // See issue and revise this codegen by uncommenting line below when the issue - // is fixed - // FieldToJson(jdata["Dred_1_3"], meta_struct.Dred_1_3, options); + FieldToJson(jdata["Dred_1_3"], meta_struct.Dred_1_3, options); FieldToJson(jdata[format::kNameWarning], "Dred_1_3 is not supported by GFXR at this time. Please file an issue quoting this text if this is a blocker for you.", options); break; }