fix(driver): adapt shader preparation to updated main apis
This commit is contained in:
parent
eb68ad3b02
commit
bae0aed3bf
|
|
@ -115,7 +115,7 @@ std::shared_ptr<DrawDecode> Driver::decodeDraw(const QueueState& queue, const Su
|
|||
auto product = std::make_shared<DrawDecode>();
|
||||
product->state = Graphics::DecodeState(queue);
|
||||
DecodeGraphicsPrograms(*product, queue, *submission.shaders, false, true);
|
||||
product->pixel = Graphics::DecodePixelStageInfo(queue.context, Graphics::ExportMappings(product->state), Graphics::PixelProgramUnset(queue));
|
||||
product->pixel = Graphics::DecodePixelStageInfo(queue.context, Graphics::ExportMappings(product->state), Graphics::PixelProgramSkipped(queue));
|
||||
return product;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -326,7 +326,7 @@ std::vector<PreparedShaders::Entry> PrepareRegistered(const ShaderSnapshot& snap
|
|||
if (stage != Stage::Compute) userCount |= ((resources >> 27u) & 1u) << 5u;
|
||||
if (userCount > 32) throw std::runtime_error("AGC driver: static user SGPR count exceeds the register bank");
|
||||
if (stage == Stage::Compute) {
|
||||
compute = Graphics::DecodeComputeStageInfo(state.shader);
|
||||
compute = Graphics::DecodeComputeStageInfo(state.shader, snapshot.header);
|
||||
const auto special = ReadHeaderArray(snapshot, header.specials, 1).front();
|
||||
wave = (special.dispatch_modifier & 0x8000u) != 0 ? 32u : 64u;
|
||||
} else if (stage == Stage::Fragment) {
|
||||
|
|
|
|||
|
|
@ -3,6 +3,7 @@
|
|||
#include "VertexInputSpecialization.hpp"
|
||||
#include "SpirvBackend/SpirvSpecialization.hpp"
|
||||
#include "Optimization/ResourceMaterializer.hpp"
|
||||
#include "Optimization/ResourceProgram.hpp"
|
||||
#include "Optimization/DescriptorBindingBuilder.hpp"
|
||||
#include "ShaderCacheDirectory.hpp"
|
||||
#include <algorithm>
|
||||
|
|
|
|||
Loading…
Reference in New Issue