summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/video_core/renderer_opengl/gl_shader_cache.cpp2
-rw-r--r--src/video_core/shader/node.h3
-rw-r--r--src/video_core/surface.h128
-rw-r--r--src/video_core/texture_cache/surface_base.cpp2
-rw-r--r--src/video_core/texture_cache/surface_base.h3
-rw-r--r--src/video_core/texture_cache/texture_cache.h1
-rw-r--r--src/video_core/textures/decoders.cpp7
7 files changed, 75 insertions, 71 deletions
diff --git a/src/video_core/renderer_opengl/gl_shader_cache.cpp b/src/video_core/renderer_opengl/gl_shader_cache.cpp
index 02e217b8c..718703091 100644
--- a/src/video_core/renderer_opengl/gl_shader_cache.cpp
+++ b/src/video_core/renderer_opengl/gl_shader_cache.cpp
@@ -104,7 +104,7 @@ constexpr std::tuple<const char*, const char*, u32> GetPrimitiveDescription(GLen
104std::size_t CalculateProgramSize(const GLShader::ProgramCode& program) { 104std::size_t CalculateProgramSize(const GLShader::ProgramCode& program) {
105 constexpr std::size_t start_offset = 10; 105 constexpr std::size_t start_offset = 10;
106 constexpr u64 key = 0xE2400FFFFF07000FULL; 106 constexpr u64 key = 0xE2400FFFFF07000FULL;
107 constexpr u64 mask =0xFFFFFFFFFF7FFFFFULL; 107 constexpr u64 mask = 0xFFFFFFFFFF7FFFFFULL;
108 std::size_t offset = start_offset; 108 std::size_t offset = start_offset;
109 std::size_t size = start_offset * sizeof(u64); 109 std::size_t size = start_offset * sizeof(u64);
110 while (offset < program.size()) { 110 while (offset < program.size()) {
diff --git a/src/video_core/shader/node.h b/src/video_core/shader/node.h
index 2bf535928..0ac83fcf0 100644
--- a/src/video_core/shader/node.h
+++ b/src/video_core/shader/node.h
@@ -339,7 +339,8 @@ struct MetaImage {
339}; 339};
340 340
341/// Parameters that modify an operation but are not part of any particular operand 341/// Parameters that modify an operation but are not part of any particular operand
342using Meta = std::variant<MetaArithmetic, MetaTexture, MetaImage, MetaStackClass, Tegra::Shader::HalfType>; 342using Meta =
343 std::variant<MetaArithmetic, MetaTexture, MetaImage, MetaStackClass, Tegra::Shader::HalfType>;
343 344
344/// Holds any kind of operation that can be done in the IR 345/// Holds any kind of operation that can be done in the IR
345class OperationNode final { 346class OperationNode final {
diff --git a/src/video_core/surface.h b/src/video_core/surface.h
index 959504cd3..ee9f00fa6 100644
--- a/src/video_core/surface.h
+++ b/src/video_core/surface.h
@@ -447,70 +447,70 @@ enum class SurfaceCompression : u8 {
447}; 447};
448 448
449inline constexpr std::array<SurfaceCompression, MaxPixelFormat> compression_type_table = {{ 449inline constexpr std::array<SurfaceCompression, MaxPixelFormat> compression_type_table = {{
450 SurfaceCompression::None, // ABGR8U 450 SurfaceCompression::None, // ABGR8U
451 SurfaceCompression::None, // ABGR8S 451 SurfaceCompression::None, // ABGR8S
452 SurfaceCompression::None, // ABGR8UI 452 SurfaceCompression::None, // ABGR8UI
453 SurfaceCompression::None, // B5G6R5U 453 SurfaceCompression::None, // B5G6R5U
454 SurfaceCompression::None, // A2B10G10R10U 454 SurfaceCompression::None, // A2B10G10R10U
455 SurfaceCompression::None, // A1B5G5R5U 455 SurfaceCompression::None, // A1B5G5R5U
456 SurfaceCompression::None, // R8U 456 SurfaceCompression::None, // R8U
457 SurfaceCompression::None, // R8UI 457 SurfaceCompression::None, // R8UI
458 SurfaceCompression::None, // RGBA16F 458 SurfaceCompression::None, // RGBA16F
459 SurfaceCompression::None, // RGBA16U 459 SurfaceCompression::None, // RGBA16U
460 SurfaceCompression::None, // RGBA16UI 460 SurfaceCompression::None, // RGBA16UI
461 SurfaceCompression::None, // R11FG11FB10F 461 SurfaceCompression::None, // R11FG11FB10F
462 SurfaceCompression::None, // RGBA32UI 462 SurfaceCompression::None, // RGBA32UI
463 SurfaceCompression::Compressed, // DXT1 463 SurfaceCompression::Compressed, // DXT1
464 SurfaceCompression::Compressed, // DXT23 464 SurfaceCompression::Compressed, // DXT23
465 SurfaceCompression::Compressed, // DXT45 465 SurfaceCompression::Compressed, // DXT45
466 SurfaceCompression::Compressed, // DXN1 466 SurfaceCompression::Compressed, // DXN1
467 SurfaceCompression::Compressed, // DXN2UNORM 467 SurfaceCompression::Compressed, // DXN2UNORM
468 SurfaceCompression::Compressed, // DXN2SNORM 468 SurfaceCompression::Compressed, // DXN2SNORM
469 SurfaceCompression::Compressed, // BC7U 469 SurfaceCompression::Compressed, // BC7U
470 SurfaceCompression::Compressed, // BC6H_UF16 470 SurfaceCompression::Compressed, // BC6H_UF16
471 SurfaceCompression::Compressed, // BC6H_SF16 471 SurfaceCompression::Compressed, // BC6H_SF16
472 SurfaceCompression::Converted, // ASTC_2D_4X4 472 SurfaceCompression::Converted, // ASTC_2D_4X4
473 SurfaceCompression::None, // BGRA8 473 SurfaceCompression::None, // BGRA8
474 SurfaceCompression::None, // RGBA32F 474 SurfaceCompression::None, // RGBA32F
475 SurfaceCompression::None, // RG32F 475 SurfaceCompression::None, // RG32F
476 SurfaceCompression::None, // R32F 476 SurfaceCompression::None, // R32F
477 SurfaceCompression::None, // R16F 477 SurfaceCompression::None, // R16F
478 SurfaceCompression::None, // R16U 478 SurfaceCompression::None, // R16U
479 SurfaceCompression::None, // R16S 479 SurfaceCompression::None, // R16S
480 SurfaceCompression::None, // R16UI 480 SurfaceCompression::None, // R16UI
481 SurfaceCompression::None, // R16I 481 SurfaceCompression::None, // R16I
482 SurfaceCompression::None, // RG16 482 SurfaceCompression::None, // RG16
483 SurfaceCompression::None, // RG16F 483 SurfaceCompression::None, // RG16F
484 SurfaceCompression::None, // RG16UI 484 SurfaceCompression::None, // RG16UI
485 SurfaceCompression::None, // RG16I 485 SurfaceCompression::None, // RG16I
486 SurfaceCompression::None, // RG16S 486 SurfaceCompression::None, // RG16S
487 SurfaceCompression::None, // RGB32F 487 SurfaceCompression::None, // RGB32F
488 SurfaceCompression::None, // RGBA8_SRGB 488 SurfaceCompression::None, // RGBA8_SRGB
489 SurfaceCompression::None, // RG8U 489 SurfaceCompression::None, // RG8U
490 SurfaceCompression::None, // RG8S 490 SurfaceCompression::None, // RG8S
491 SurfaceCompression::None, // RG32UI 491 SurfaceCompression::None, // RG32UI
492 SurfaceCompression::None, // R32UI 492 SurfaceCompression::None, // R32UI
493 SurfaceCompression::Converted, // ASTC_2D_8X8 493 SurfaceCompression::Converted, // ASTC_2D_8X8
494 SurfaceCompression::Converted, // ASTC_2D_8X5 494 SurfaceCompression::Converted, // ASTC_2D_8X5
495 SurfaceCompression::Converted, // ASTC_2D_5X4 495 SurfaceCompression::Converted, // ASTC_2D_5X4
496 SurfaceCompression::None, // BGRA8_SRGB 496 SurfaceCompression::None, // BGRA8_SRGB
497 SurfaceCompression::Compressed, // DXT1_SRGB 497 SurfaceCompression::Compressed, // DXT1_SRGB
498 SurfaceCompression::Compressed, // DXT23_SRGB 498 SurfaceCompression::Compressed, // DXT23_SRGB
499 SurfaceCompression::Compressed, // DXT45_SRGB 499 SurfaceCompression::Compressed, // DXT45_SRGB
500 SurfaceCompression::Compressed, // BC7U_SRGB 500 SurfaceCompression::Compressed, // BC7U_SRGB
501 SurfaceCompression::Converted, // ASTC_2D_4X4_SRGB 501 SurfaceCompression::Converted, // ASTC_2D_4X4_SRGB
502 SurfaceCompression::Converted, // ASTC_2D_8X8_SRGB 502 SurfaceCompression::Converted, // ASTC_2D_8X8_SRGB
503 SurfaceCompression::Converted, // ASTC_2D_8X5_SRGB 503 SurfaceCompression::Converted, // ASTC_2D_8X5_SRGB
504 SurfaceCompression::Converted, // ASTC_2D_5X4_SRGB 504 SurfaceCompression::Converted, // ASTC_2D_5X4_SRGB
505 SurfaceCompression::Converted, // ASTC_2D_5X5 505 SurfaceCompression::Converted, // ASTC_2D_5X5
506 SurfaceCompression::Converted, // ASTC_2D_5X5_SRGB 506 SurfaceCompression::Converted, // ASTC_2D_5X5_SRGB
507 SurfaceCompression::Converted, // ASTC_2D_10X8 507 SurfaceCompression::Converted, // ASTC_2D_10X8
508 SurfaceCompression::Converted, // ASTC_2D_10X8_SRGB 508 SurfaceCompression::Converted, // ASTC_2D_10X8_SRGB
509 SurfaceCompression::None, // Z32F 509 SurfaceCompression::None, // Z32F
510 SurfaceCompression::None, // Z16 510 SurfaceCompression::None, // Z16
511 SurfaceCompression::None, // Z24S8 511 SurfaceCompression::None, // Z24S8
512 SurfaceCompression::Rearranged, // S8Z24 512 SurfaceCompression::Rearranged, // S8Z24
513 SurfaceCompression::None, // Z32FS8 513 SurfaceCompression::None, // Z32FS8
514}}; 514}};
515 515
516static constexpr SurfaceCompression GetFormatCompressionType(PixelFormat format) { 516static constexpr SurfaceCompression GetFormatCompressionType(PixelFormat format) {
diff --git a/src/video_core/texture_cache/surface_base.cpp b/src/video_core/texture_cache/surface_base.cpp
index 97bf9ad7a..051014c6a 100644
--- a/src/video_core/texture_cache/surface_base.cpp
+++ b/src/video_core/texture_cache/surface_base.cpp
@@ -101,7 +101,7 @@ MatchStructureResult SurfaceBaseImpl::MatchesStructure(const SurfaceParams& rhs)
101std::optional<std::pair<u32, u32>> SurfaceBaseImpl::GetLayerMipmap( 101std::optional<std::pair<u32, u32>> SurfaceBaseImpl::GetLayerMipmap(
102 const GPUVAddr candidate_gpu_addr) const { 102 const GPUVAddr candidate_gpu_addr) const {
103 if (gpu_addr == candidate_gpu_addr) { 103 if (gpu_addr == candidate_gpu_addr) {
104 return {{0,0}}; 104 return {{0, 0}};
105 } 105 }
106 if (candidate_gpu_addr < gpu_addr) { 106 if (candidate_gpu_addr < gpu_addr) {
107 return {}; 107 return {};
diff --git a/src/video_core/texture_cache/surface_base.h b/src/video_core/texture_cache/surface_base.h
index 662221adc..252b18538 100644
--- a/src/video_core/texture_cache/surface_base.h
+++ b/src/video_core/texture_cache/surface_base.h
@@ -254,7 +254,8 @@ public:
254 } 254 }
255 return {}; 255 return {};
256 } else { 256 } else {
257 return GetView(ViewParams(view_params.target, layer, 1, mipmap, end_mipmap - mipmap + 1)); 257 return GetView(
258 ViewParams(view_params.target, layer, 1, mipmap, end_mipmap - mipmap + 1));
258 } 259 }
259 } 260 }
260 261
diff --git a/src/video_core/texture_cache/texture_cache.h b/src/video_core/texture_cache/texture_cache.h
index d86ddeb76..b720856f2 100644
--- a/src/video_core/texture_cache/texture_cache.h
+++ b/src/video_core/texture_cache/texture_cache.h
@@ -18,6 +18,7 @@
18#include "common/common_types.h" 18#include "common/common_types.h"
19#include "common/math_util.h" 19#include "common/math_util.h"
20#include "core/memory.h" 20#include "core/memory.h"
21#include "core/settings.h"
21#include "video_core/engines/fermi_2d.h" 22#include "video_core/engines/fermi_2d.h"
22#include "video_core/engines/maxwell_3d.h" 23#include "video_core/engines/maxwell_3d.h"
23#include "video_core/gpu.h" 24#include "video_core/gpu.h"
diff --git a/src/video_core/textures/decoders.cpp b/src/video_core/textures/decoders.cpp
index 9a2f4198a..7e8295944 100644
--- a/src/video_core/textures/decoders.cpp
+++ b/src/video_core/textures/decoders.cpp
@@ -256,7 +256,8 @@ std::vector<u8> UnswizzleTexture(u8* address, u32 tile_size_x, u32 tile_size_y,
256} 256}
257 257
258void SwizzleSubrect(u32 subrect_width, u32 subrect_height, u32 source_pitch, u32 swizzled_width, 258void SwizzleSubrect(u32 subrect_width, u32 subrect_height, u32 source_pitch, u32 swizzled_width,
259 u32 bytes_per_pixel, u8* swizzled_data, u8* unswizzled_data, u32 block_height_bit) { 259 u32 bytes_per_pixel, u8* swizzled_data, u8* unswizzled_data,
260 u32 block_height_bit) {
260 const u32 block_height = 1U << block_height_bit; 261 const u32 block_height = 1U << block_height_bit;
261 const u32 image_width_in_gobs{(swizzled_width * bytes_per_pixel + (gob_size_x - 1)) / 262 const u32 image_width_in_gobs{(swizzled_width * bytes_per_pixel + (gob_size_x - 1)) /
262 gob_size_x}; 263 gob_size_x};
@@ -278,8 +279,8 @@ void SwizzleSubrect(u32 subrect_width, u32 subrect_height, u32 source_pitch, u32
278} 279}
279 280
280void UnswizzleSubrect(u32 subrect_width, u32 subrect_height, u32 dest_pitch, u32 swizzled_width, 281void UnswizzleSubrect(u32 subrect_width, u32 subrect_height, u32 dest_pitch, u32 swizzled_width,
281 u32 bytes_per_pixel, u8* swizzled_data, u8* unswizzled_data, u32 block_height_bit, 282 u32 bytes_per_pixel, u8* swizzled_data, u8* unswizzled_data,
282 u32 offset_x, u32 offset_y) { 283 u32 block_height_bit, u32 offset_x, u32 offset_y) {
283 const u32 block_height = 1U << block_height_bit; 284 const u32 block_height = 1U << block_height_bit;
284 for (u32 line = 0; line < subrect_height; ++line) { 285 for (u32 line = 0; line < subrect_height; ++line) {
285 const u32 y2 = line + offset_y; 286 const u32 y2 = line + offset_y;