Yuri Kunde Schlesner
877d2a0e48
Videocore: Replace std::stack in shader interpreter with static_vector
Shaves off 1/3rd of the vertex shader time in Fire Emblem
11 years ago
Yuri Kunde Schlesner
5a75cf8fd2
Pica: Fix DP3 instruction, which wasn't assigning to the w component
11 years ago
zawata
6933a50aeb
Vertex Shader : Undo casting
11 years ago
zawata
716120da3d
Video_Core : Fix Conversion Warnings
11 years ago
Tony Wasserka
33568494af
Pica/Shader: Add geometry shader definitions.
11 years ago
bunnei
1574c44586
vertex_shader: Use address offset on src2 in inverted mode.
11 years ago
bunnei
4ac6c1a3b5
vertex_shader: Implement SLT/SLTI instructions.
11 years ago
bunnei
875bd29766
vertex_shader: Implement MIN instruction.
11 years ago
Emmanuel Gil Peyrot
b1503b2020
Remove every trailing whitespace from the project (but externals).
11 years ago
bunnei
1b42d55a9d
Pica: Create 'State' structure and move state memory there.
11 years ago
Yuri Kunde Schlesner
7ada357b2d
Memmap: Re-organize memory function in two files
memory.cpp/h contains definitions related to acessing memory and
configuring the address space
mem_map.cpp/h contains higher-level definitions related to configuring
the address space accoording to the kernel and allocating memory.
11 years ago
Yuri Kunde Schlesner
def5913d19
GPU: Add more fine grained profiling for vertex shader and rasterization
11 years ago
bunnei
692a74c09e
vertex_shader: Implement FLR instruction.
11 years ago
bunnei
f935130a0f
vertex_shader: Implement MADI instruction.
nihstro: Update submodule to latest upstream/master to support MADI instruction decoding.
11 years ago
Subv
0e5ca080a8
GPU: Implemented default vertex shader attributes.
Fixes some games crashing.
11 years ago
Tony Wasserka
e4f5ec6272
Pica/VertexShader: Fix a bug caused due to incorrect assumptions of consecutive output register tables.
We now write create a temporary buffer for output registers and copy all of them to the actual output vertex structure after the shader has run. This is technically not necessary, but it's easier to vectorize in the future.
11 years ago
archshift
7d43aef4d0
Update nihstro submodule to the initial release version.
Includes more opcodes to implement in the future.
11 years ago
Subv
9a03e9c61d
Pica/VertexShader: Fixed LOOP with more than one iteration.
Previously it wouldn't jump back to the start of the loop code once it reached the end of the block.
Fixes the texture problems in a lot of games.
11 years ago
Tony Wasserka
70a764d992
Pica/VertexShader: Implement the LOOP instruction.
11 years ago
Subv
8e2b248e05
Build: Fixed some warnings
11 years ago
archshift
ef24e72b26
Asserts: break/crash program, fit to style guide; log.h->assert.h
Involves making asserts use printf instead of the log functions (log functions are asynchronous and, as such, the log won't be printed in time)
As such, the log type argument was removed (printf obviously can't use it, and it's made obsolete by the file and line printing)
Also removed some GEKKO cruft.
11 years ago
Tony Wasserka
2b9a9a45b7
Pica/VertexShader: Implement JMPC/JMPU/CALLC/CALLU.
11 years ago
Tony Wasserka
e02db3904b
Pica/VertexShader: Implement the MAD instruction.
11 years ago
Tony Wasserka
40c7200841
Pica/VertexShader: Coding style fixes.
11 years ago
Tony Wasserka
b7a48c422a
Pica/CommandProcessor: Add support for integer uniforms.
11 years ago
Yuri Kunde Schlesner
d151d797b1
Vertex Shader: Zero OutputVertex to avoid denormals
Unused OutputVertex attributes were being left un-initialized. The
leftover garbage sometimes decoded as floating-point denormalized
values, causing fallbacks to microcode and massive slowdowns in the rest
of the rasterization pipeline even though the results were unused. By
zeroing the structure we ensure these attributes only contain harmless
zeros.
11 years ago
Apology11
8d81e23d6e
Fix visual studio ambiguous symbol error
11 years ago
purpasmart96
ebfd831ccb
License change
11 years ago
Tony Wasserka
08f42c2b8c
Pica/VertexShader: Promote a log message to critical status.
11 years ago
Tony Wasserka
17f31de364
Pica/VertexShader: Small optimization.
11 years ago
Tony Wasserka
a664574ecb
Pica/VertexShader: Be robust against invalid inputs.
More specifically, this also fixes crashes by Citra trying to load a src2 register even if the current instruction does not use that.
11 years ago
Tony Wasserka
ad5db467d7
Pica/VertexShader: Clarify a comment.
11 years ago
Tony Wasserka
6bd41de276
Pica/VertexShader: Cleanup flow control logic and implement CMP/IFU instructions.
11 years ago
Tony Wasserka
22afb9d830
Pica/VertexShader: Run instruction handlers according to the effective opcode.
This allows for proper emulation of the different CMP/LRP/MAD instructions.
11 years ago
Tony Wasserka
cd163fb59a
Pica/VertexShader: Implement MAX instructions.
11 years ago
Tony Wasserka
aff808b2fd
Pica: Add support for boolean uniforms.
11 years ago
Tony Wasserka
67618a2c55
Pica/VertexShader: Add support for MOVA, CMP and IFC.
11 years ago
Tony Wasserka
cb1804e0ab
Pica/VertexShader: Move code around a bit.
11 years ago
Tony Wasserka
b85524c760
Pica/VertexShader: Some cleanups using std::array.
11 years ago
Tony Wasserka
ce36ad454e
Pica/VertexShader: Support negating src2.
11 years ago
Tony Wasserka
8ce1d32460
Pica/VertexShader: Remove (now) duplicated shader bytecode definitions in favor of nihstro's ones.
11 years ago
Yuri Kunde Schlesner
0600e2d8b5
Convert old logging calls to new logging macros
11 years ago
Tony Wasserka
4d4572c697
Integrate Boost into build system and perform a trivial cleanup in vertex_shader.cpp.
11 years ago
Lioncash
eb5054e6eb
Fix warnings in video_core
11 years ago
Tony Wasserka
697b50c3ff
Pica/VertexShader: Fix a bug in the call stack handling.
12 years ago
Tony Wasserka
62c36a4ef0
Pica/VertexShader: Fix a bug in the bitfield definitions and add the "negate" field for swizzlers.
12 years ago
Tony Wasserka
f37e39deb9
Pica: Add debug utilities for dumping shaders.
12 years ago
Tony Wasserka
c526512619
Pica: Add vertex shader implementation.
12 years ago