Nguyen Dac Nam
935648ffa9
address nit.
6 years ago
Nguyen Dac Nam
bf1174c114
Apply suggestions from code review
Co-Authored-By: Rodrigo Locatti <reinuseslisp@airmail.cc>
6 years ago
namkazy
2c98e14d13
shader_decode: SULD.D using std::pair instead of out parameter
6 years ago
namkazy
9efa51311f
shader_decode: SULD.D avoid duplicate code block.
6 years ago
namkazy
7f5696513f
shader_decode: SULD.D fix conversion error.
6 years ago
namkazy
2906372ba1
shader_decode: SULD.D implement bits64 and reverse shader ir init method to removed shader stage.
6 years ago
namkazy
730f9b55b3
silent warning (conversion error)
6 years ago
namkazy
9f6ebccf06
shader_decode: SULD.D -> SINT actually same as UNORM.
6 years ago
namkazy
6f2b7087c2
shader_decode: SULD.D fix decode SNORM component
6 years ago
namkazy
69657ff19c
clang-format
6 years ago
namkazy
24cc64c5b3
shader_decode: get sampler descriptor from registry.
6 years ago
namkazy
acd3f0ab37
tweaking.
6 years ago
namkazy
3e3afa9be6
cleanup unuse params
6 years ago
namkazy
5cd5857000
cleanup debug code.
6 years ago
namkazy
658112783d
reimplement get component type, uncomment mistaken code
6 years ago
namkazy
3ad06e9b2b
remove disable optimize
6 years ago
namkazy
f24c2e1103
[wip] reimplement SULD.D
6 years ago
Nguyen Dac Nam
2cefdd92bd
clang-fix
6 years ago
Nguyen Dac Nam
1f3d142875
shader: image - import PredCondition
6 years ago
Nguyen Dac Nam
08db60392d
shader: SULD.D bits32 implement more complexer method.
6 years ago
Nguyen Dac Nam
ed1d8beb13
shader: SULD.D import StoreType
6 years ago
Nguyen Dac Nam
6d235b8631
shader: implement SULD.D bits32
6 years ago
ReinUsesLisp
60106531b4
shader/other: Add error message for some S2R registers
6 years ago
ReinUsesLisp
8b719e9e1d
shader_bytecode: Rename MOV_SYS to S2R
6 years ago
ReinUsesLisp
e1bd89e1c2
shader/memory: Silence no return value warning
Silences a warning about control paths not all returning a value.
6 years ago
ReinUsesLisp
2339fe199f
shader_decompiler: Remove FragCoord.w hack and change IPA implementation
Credits go to gdkchan and Ryujinx. The pull request used for this can
be found here: https://github.com/Ryujinx/Ryujinx/pull/1082
yuzu was already using the header for interpolation, but it was missing
the FragCoord.w multiplication described in the linked pull request.
This commit finally removes the FragCoord.w == 1.0f hack from the shader
decompiler.
While we are at it, this commit renames some enumerations to match
Nvidia's documentation (linked below) and fixes component declaration
order in the shader program header (z and w were swapped).
https://github.com/NVIDIA/open-gpu-doc/blob/master/Shader-Program-Header/Shader-Program-Header.html
6 years ago
Nguyen Dac Nam
238c35b2c9
clang-format
6 years ago
Nguyen Dac Nam
defb9642da
shader_decode: fix by suggestion
6 years ago
namkazy
cb0a4151f8
clang-format
6 years ago
namkazy
4f7bea403a
shader_decode: ATOM/ATOMS: add function to avoid code repetition
6 years ago
Nguyen Dac Nam
972485ff18
shader_decode: implement ATOM operation for S32 and U32
6 years ago
namkazy
93cac0d294
clang-format
6 years ago
Nguyen Dac Nam
3dc09a6250
shader_decode: implement ATOMS instr partial.
6 years ago
ReinUsesLisp
5300a918c6
shader/lea: Simplify generated LEA code
6 years ago
ReinUsesLisp
523a709bf1
shader/lea: Fix op_a and op_b usages
They were swapped.
6 years ago
ReinUsesLisp
796b3319e6
shader/lea: Remove const and use move when possible
6 years ago
ReinUsesLisp
46791c464a
shader/conversion: Fix F2F rounding operations with different sizes
Rounding operations only matter when the conversion size of source and
destination is the same, i.e. .F16.F16, .F32.F32 and .F64.F64.
When there is a mismatch (.F16.F32), these bits are used for IEEE
rounding, we don't emulate this because GLSL and SPIR-V don't support
configuring it per operation.
6 years ago
makigumo
5a5c6d4ed8
xmad: fix clang build error
6 years ago
Nguyen Dac Nam
3287b1247d
clang-format
6 years ago
Nguyen Dac Nam
240d45830d
nit
6 years ago
Nguyen Dac Nam
829f424618
nit & remove some optional param
6 years ago
Nguyen Dac Nam
a166217480
shader_decode: implement XMAD mode CSfu
6 years ago
Nguyen Dac Nam
00607fe1e0
clang-format
6 years ago
Nguyen Dac Nam
325977c0c6
Apply suggestions from code review
Co-Authored-By: Mat M. <mathew1800@gmail.com>
6 years ago
Nguyen Dac Nam
70ff82f72d
shader_decode: BFE add ref of reverse parallel method.
6 years ago
Nguyen Dac Nam
96a4abe12d
shader_decode: implement BREV on BFE
Implement reverse parallel follow: https://graphics.stanford.edu/~seander/bithacks.html#ReverseParallel
6 years ago
Nguyen Dac Nam
465ba30d08
shader_decode: Reimplement BFE instructions
6 years ago
ReinUsesLisp
e8efd5a901
video_core: Rename "const buffer locker" to "registry"
6 years ago
Nguyen Dac Nam
db2f547434
shader: FMUL switch to using LUT ( #3441 )
* shader: add FmulPostFactor LUT table
* shader: FMUL apply LUT
* Update src/video_core/engines/shader_bytecode.h
Co-Authored-By: Mat M. <mathew1800@gmail.com>
* nit: mistype
* clang-format & add missing import
* shader: remove post factor LUT.
* shader: move post factor LUT to function and fix incorrect order.
* clang-format
* shader: FMUL: add static to post factor LUT
* nit: typo
Co-authored-by: Mat M. <mathew1800@gmail.com>
6 years ago
ReinUsesLisp
7dc488a375
shader/texture: Fix illegal 3D texture assert
Fix typo in the illegal 3D texture assert logic. We care about catching
arrayed 3D textures or 3D shadow textures, not regular 3D textures.
6 years ago