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