use num_components in data fmt instead of fmt itself

This commit is contained in:
Frodo Baggins 2025-03-02 19:02:34 -08:00
parent eb876e604a
commit b37d16dfb3

View File

@ -13,7 +13,7 @@
namespace Shader { namespace Shader {
struct VsAttribSpecialization { struct VsAttribSpecialization {
AmdGpu::DataFormat data_format{}; s32 num_components{};
AmdGpu::NumberClass num_class{}; AmdGpu::NumberClass num_class{};
AmdGpu::CompMapping dst_select{}; AmdGpu::CompMapping dst_select{};
@ -95,8 +95,9 @@ struct StageSpecialization {
// Specialize shader on VS input number types to follow spec. // Specialize shader on VS input number types to follow spec.
ForEachSharp(vs_attribs, fetch_shader_data->attributes, ForEachSharp(vs_attribs, fetch_shader_data->attributes,
[&profile_](auto& spec, const auto& desc, AmdGpu::Buffer sharp) { [&profile_](auto& spec, const auto& desc, AmdGpu::Buffer sharp) {
spec.data_format = spec.num_components = desc.UsesStepRates()
desc.UsesStepRates() ? sharp.GetDataFmt() : AmdGpu::DataFormat{}; ? AmdGpu::NumComponents(sharp.GetDataFmt())
: 0;
spec.num_class = profile_.support_legacy_vertex_attributes spec.num_class = profile_.support_legacy_vertex_attributes
? AmdGpu::NumberClass{} ? AmdGpu::NumberClass{}
: AmdGpu::GetNumberClass(sharp.GetNumberFmt()); : AmdGpu::GetNumberClass(sharp.GetNumberFmt());