Commit Graph
626 Commits
Author SHA1 Message Date
wheremyfoodat 28e9d87573 [Shader JIT] Start migrating to new, better ABI 2023-06-28 22:22:09 +03:00
wheremyfoodat 41f29893c2 Fix merge 2023-06-28 00:10:44 +03:00
wheremyfoodat 02d07f29d7 Merge remote-tracking branch 'origin/GamingProcessingUnit' into dynapica 2023-06-27 18:53:59 +03:00
wheremyfoodatandGitHub 91c9e6a31a Merge pull request #32 from fleroviux/pica-tev-emulation
Implement texture combiner emulation
2023-06-21 01:15:59 +03:00
fleroviux 7ebbfbf1ef [GPU] Remove magic constants in TEV and texture binding code as much as possible 2023-06-20 23:43:43 +02:00
fleroviux 7128ae5565 [GPU] Fix incorrect &-operator with unsigned and signed operand in the GLSL code 2023-06-20 23:00:54 +02:00
fleroviux 6b610a82d6 [GPU] Move texture binding into its own method 2023-06-20 22:58:52 +02:00
fleroviux 4cb7e3625b Merge branch 'master' of github.com:fleroviux/Panda3DS into pica-tev-emulation 2023-06-20 22:47:47 +02:00
fleroviux f8a8abd2c6 Merge branch 'master' of github.com:fleroviux/Panda3DS into pica-tev-emulation 2023-06-20 22:34:39 +02:00
fleroviux 901e3308a0 [GPU] Rename abgr8888_to_vec4() to abgr8888ToVec4() 2023-06-20 22:33:12 +02:00
fleroviux 2f19310c42 [GPU] Upgrade TEV functions and variables to Pesca style 2023-06-20 22:28:58 +02:00
fleroviux 7ad8a5041e [GPO] Use a_ and v_ prefixes for vertex shader inputs and outputs 2023-06-20 22:21:59 +02:00
fleroviux 2fc22bed24 [GPU] Decode GPUREG_TEXENVi_COLOR in the vertex shader as well 2023-06-20 22:18:23 +02:00
fleroviux ef7d01d1b1 [GPU] Decode GPUREG_TEXENV_BUFFER_COLOR in the vertex shader 2023-06-20 22:09:14 +02:00
fleroviux b7616cc9ec [GPU] Cleanup the TEV GLSL code a bit" 2023-06-20 21:44:55 +02:00
fleroviux 9b5a24329f [GPU] Simplify TEV source fetching by using an array to store the current source values 2023-06-20 21:31:52 +02:00
fleroviux 9386ce319b [GPU] Make the fragment shader GLSL a bit more readable. 2023-06-20 21:06:34 +02:00
fleroviux 13a53a9e9d [GPU] Disable the alpha combiner when the color combiner is in "Dot3 RGBA" configuration 2023-06-20 20:46:01 +02:00
fleroviux a30f9ccd33 [GPU] Treat color and alpha sources as two separate RGBA values
Previously we fetched the RGB channels of the color source and the alpha channel of the alpha source
and combined these into a single RGBA source value that the source operands are applied to.
This is incorrect. The correct behavior is to fetch the full RGBA color for both the color and alpha
sources and to apply the color operand to the color source and the alpha operand to the alpha source,
i.e. using the *alpha* source R-channel when the alpha operand is "One minus source red".
Only after that we combine both sources into a single RGBA color.
2023-06-20 20:20:33 +02:00
wheremyfoodatandGitHub dbe293bb52 Merge pull request #43 from Wunkolo/pica-types
Add PICA texel-format and topology types
2023-06-20 13:26:58 +03:00
fleroviux 9b1ed2084f [GPU] Implement initial support for multi-texturing 2023-06-20 00:01:12 +02:00
fleroviux 170fe9a4b2 Merge branch 'GamingProcessingUnit' of github.com:fleroviux/Panda3DS into pica-tev-emulation 2023-06-19 19:54:03 +02:00
wheremyfoodatandGitHub c042dbc293 Merge pull request #44 from skylersaleh/macos_fixes
Work around compilation errors on macOS
2023-06-19 00:06:10 +03:00
wheremyfoodat 6b5ec74aa4 [OutputVertex] Avoid unnamed struct 2023-06-18 23:59:41 +03:00
wheremyfoodatandGitHub 88e3eb1558 Add std::bit_cast fallback for Helpers::bit_cast and run clang-format 2023-06-18 23:33:10 +03:00
fleroviux 927bf9fe32 Merge branch 'GamingProcessingUnit' of github.com:fleroviux/Panda3DS into pica-tev-emulation 2023-06-18 22:27:24 +02:00
wheremyfoodat 952e2d6d22 More accurate VAO implementation 2023-06-18 23:20:28 +03:00
Sky e9b3b7c2a2 Add workaround helper for bit_cast and missing #include <bit>
Allows compilation on native macOS build system.
2023-06-18 12:33:34 -07:00
Wunkolo 6ee3f73335 Bisect TextureFmt and ColorFmt
Makes framebuffer-formats unrepresentable from texture formats while
allowing them to alias each other. Add utility functions as well that
just re-use the `TextureFmt` ones.
2023-06-18 08:22:14 -07:00
wheremyfoodatandGitHub e5b09fefc8 Merge pull request #40 from wheremyfoodat/bottom-screen
Stub screens in a bit less of a sad way
2023-06-18 17:35:37 +03:00
Wunkolo 134e16d8ea Replace Texture::Formats with PICA::ColorFmt
This enum was a duplicate of the PICA one. Now the PICA one is more
complete. Migrate `textureFormatToString` to be next to the enums
definition.
2023-06-18 00:10:04 -07:00
Wunkolo 5f07f77c94 Move hasStencil to regs.hpp 2023-06-17 23:27:19 -07:00
Wunkolo 838d3f27f9 Migrate PICA-types into PICA namespace
Rather than prefixing these types with `PICA`, a namespace is used instead.
2023-06-17 18:23:47 -07:00
fleroviux 1416456035 [GPU] DOT3_RGB(A) modes should remap the operands from [0, 1] to [-1, +1] range 2023-06-18 01:32:32 +02:00
Wunkolo 78a3f9fa23 Add PICA texel-format and topology types
Slowly stepping the codebase towards having renderer-agnostic types and keeping the translation of PICA-types to OpenGL/VK/DX/Software/etc to the renderer-backend.
2023-06-17 12:26:41 -07:00
wheremyfoodatandGitHub d0ae5f0546 Merge pull request #37 from marysaka/feat/proper-hle-result
hle: Add proper type for result code
2023-06-17 18:39:36 +03:00
fleroviux 78827886fe Merge branch 'master' of github.com:fleroviux/Panda3DS into pica-tev-emulation 2023-06-17 12:39:48 +02:00
fleroviux 3aeef23b2e Merge branch 'bottom-screen' of github.com:fleroviux/Panda3DS into pica-tev-emulation 2023-06-17 12:38:33 +02:00
wheremyfoodatandGitHub 0bd77856e5 Merge pull request #42 from marysaka/misc/glad
misc: Switch from gl3w to glad
2023-06-17 12:53:33 +03:00
Mary f3010f0909 misc: Switch from gl3w to glad
Also add more checks on window and context creation.
2023-06-17 11:26:18 +02:00
wheremyfoodatandGitHub 6c29e3e0be Merge pull request #41 from marysaka/fix/linux-cstdint-helper
fix: fix build on Linux with gcc
2023-06-17 11:45:59 +03:00
Mary a799da1ec5 fix: fix build on Linux with gcc
Tested on Fedora 38, helpers.hpp was missing an import.
2023-06-17 10:11:35 +02:00
fleroviux c9642292aa [GPU] Do scale on the final texture combiner output, not the individual sources 2023-06-17 02:06:05 +02:00
fleroviux b854367676 [GPU] Move TEV uniforms update into its own method 2023-06-17 01:58:30 +02:00
fleroviux a368d77005 [GPU] respect GPUREG_TEXENVi_SCALE 2023-06-17 01:42:53 +02:00
fleroviux aef808cdfc [GPU] Cleanup TEV shader code to be less redundant 2023-06-17 01:35:35 +02:00
fleroviux c3acf2b393 [GPU] cleanup and optimize the TEV shader functions 2023-06-17 01:27:26 +02:00
wheremyfoodat 5b3266be34 Fix merge conflict 2023-06-17 02:22:19 +03:00
wheremyfoodat 7b859ad602 Merge branch 'master' into bottom-screen 2023-06-17 02:19:30 +03:00
wheremyfoodat 245f0d2d18 Merge branch 'master' into bottom-screen 2023-06-17 02:11:14 +03:00