shader: Fix bugs and build issues on GCC
This commit is contained in:
parent
7a1f296cda
commit
2dc86372c7
|
@ -95,7 +95,7 @@ void ComputePipeline::Configure(Tegra::Engines::KeplerCompute& kepler_compute,
|
||||||
ASSERT(((qmd.const_buffer_enable_mask >> desc.cbuf_index) & 1) != 0);
|
ASSERT(((qmd.const_buffer_enable_mask >> desc.cbuf_index) & 1) != 0);
|
||||||
const u32 index_offset{index << desc.size_shift};
|
const u32 index_offset{index << desc.size_shift};
|
||||||
const u32 offset{desc.cbuf_offset + index_offset};
|
const u32 offset{desc.cbuf_offset + index_offset};
|
||||||
const GPUVAddr addr{cbufs[desc.cbuf_index].Address() + desc.cbuf_offset};
|
const GPUVAddr addr{cbufs[desc.cbuf_index].Address() + offset};
|
||||||
if constexpr (std::is_same_v<decltype(desc), const Shader::TextureDescriptor&> ||
|
if constexpr (std::is_same_v<decltype(desc), const Shader::TextureDescriptor&> ||
|
||||||
std::is_same_v<decltype(desc), const Shader::TextureBufferDescriptor&>) {
|
std::is_same_v<decltype(desc), const Shader::TextureBufferDescriptor&>) {
|
||||||
if (desc.has_secondary) {
|
if (desc.has_secondary) {
|
||||||
|
@ -136,7 +136,7 @@ void ComputePipeline::Configure(Tegra::Engines::KeplerCompute& kepler_compute,
|
||||||
ImageId* texture_buffer_ids{image_view_ids.data()};
|
ImageId* texture_buffer_ids{image_view_ids.data()};
|
||||||
size_t index{};
|
size_t index{};
|
||||||
const auto add_buffer{[&](const auto& desc) {
|
const auto add_buffer{[&](const auto& desc) {
|
||||||
for (u32 index = 0; index < desc.count; ++index) {
|
for (u32 i = 0; index < desc.count; ++i) {
|
||||||
bool is_written{false};
|
bool is_written{false};
|
||||||
if constexpr (std::is_same_v<decltype(desc), const Shader::ImageBufferDescriptor&>) {
|
if constexpr (std::is_same_v<decltype(desc), const Shader::ImageBufferDescriptor&>) {
|
||||||
is_written = desc.is_written;
|
is_written = desc.is_written;
|
||||||
|
|
|
@ -226,7 +226,7 @@ void GraphicsPipeline::Configure(bool is_indexed) {
|
||||||
for (size_t stage = 0; stage < Maxwell::MaxShaderStage; ++stage) {
|
for (size_t stage = 0; stage < Maxwell::MaxShaderStage; ++stage) {
|
||||||
size_t index{};
|
size_t index{};
|
||||||
const auto add_buffer{[&](const auto& desc) {
|
const auto add_buffer{[&](const auto& desc) {
|
||||||
for (u32 index = 0; index < desc.count; ++index) {
|
for (u32 i = 0; i < desc.count; ++i) {
|
||||||
bool is_written{false};
|
bool is_written{false};
|
||||||
if constexpr (std::is_same_v<decltype(desc),
|
if constexpr (std::is_same_v<decltype(desc),
|
||||||
const Shader::ImageBufferDescriptor&>) {
|
const Shader::ImageBufferDescriptor&>) {
|
||||||
|
|
|
@ -4,10 +4,10 @@
|
||||||
|
|
||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
|
#include <span>
|
||||||
#include <string>
|
#include <string>
|
||||||
#include <string_view>
|
#include <string_view>
|
||||||
#include <unordered_map>
|
#include <unordered_map>
|
||||||
#include <span>
|
|
||||||
#include <vector>
|
#include <vector>
|
||||||
|
|
||||||
#include "common/common_types.h"
|
#include "common/common_types.h"
|
||||||
|
|
Reference in New Issue