Yuri Kunde Schlesner
426fda1d52
SWRasterizer: Move more framebuffer functions to file
9 years ago
Yuri Kunde Schlesner
1683cb0ec9
SWRasterizer: Move texturing functions to their own file
9 years ago
Yuri Kunde Schlesner
f9026e8a7a
SWRasterizer: Convert large no-capture lambdas to standalone functions
9 years ago
Yuri Kunde Schlesner
e1ad7d69b9
SWRasterizer: Move framebuffer operation functions to their own file
9 years ago
Yuri Kunde Schlesner
e24717bca0
VideoCore: Move software rasterizer files to sub-directory
9 years ago
Yuri Kunde Schlesner
e10b11a5d0
video_core/shader: Document sanitized MUL operation
9 years ago
Yuri Kunde Schlesner
e2fa1ca5e1
video_core: Fix benign out-of-bounds indexing of array ( #2553 )
The resulting pointer wasn't written to unless the index was verified as
valid, but that's still UB and triggered debug checks in MSVC.
Reported by garrettboast on IRC
9 years ago
Yuri Kunde Schlesner
553e672777
VideoCore: Split u64 Pica reg unions into 2 separate u32 unions
This eliminates UB when aliasing it with the array of u32 regs, and
is compatible with non-LE architectures.
9 years ago
Yuri Kunde Schlesner
bfb1531352
VideoCore: Force enum sizes to u32 in LightingRegs
All enums that are used with BitField must have their type forced to u32
to ensure correctness.
9 years ago
Yuri Kunde Schlesner
af65e1c0a0
OpenGL: Remove unused duplicate of IsPassThroughTevStage
This copy was left behind when the shader generation code was moved to a
separate file.
9 years ago
Yuri Kunde Schlesner
60fc0b086f
VideoCore: Split regs.h inclusions
9 years ago
Yuri Kunde Schlesner
f241bb72f5
Pica/Regs: Use binary search to look up reg names
This gets rid of the static unordered_map. Also changes the return type
const char*, avoiding unnecessary allocations (the result was only used
by calling .c_str() on it.)
9 years ago
Yuri Kunde Schlesner
602f57da38
VideoCore: Use union to index into Regs struct
Also remove some unused members.
9 years ago
Lectem
f146a6d45a
Use std::array<u8,2> instead of u8[2] to fix MSVC build
9 years ago
Yuri Kunde Schlesner
5759d94b5c
VideoCore: Move Regs to its own file
9 years ago
Yuri Kunde Schlesner
f7c7f422c6
VideoCore: Split shader regs from Regs struct
9 years ago
Yuri Kunde Schlesner
8fca90b5d5
VideoCore: Split geometry pipeline regs from Regs struct
9 years ago
Yuri Kunde Schlesner
f443c7e5b0
VideoCore: Split lighting regs from Regs struct
9 years ago
Yuri Kunde Schlesner
23713d5dee
VideoCore: Split framebuffer regs from Regs struct
9 years ago
Yuri Kunde Schlesner
9017093f58
VideoCore: Split texturing regs from Regs struct
9 years ago
Yuri Kunde Schlesner
000e78144c
VideoCore: Split rasterizer regs from Regs struct
9 years ago
Yuri Kunde Schlesner
c74787a11c
Pica/Texture: Move part of ETC1 decoding to new file and cleanups
9 years ago
Yuri Kunde Schlesner
09a750e866
Pica/Texture: Simplify/cleanup texture tile addressing
9 years ago
Yuri Kunde Schlesner
a1c9ac7845
VideoCore: Move LookupTexture out of debug_utils.h
9 years ago
wwylele
6dc1d6e568
ShaderJIT: add 16 dummy bytes at the bottom of the stack
9 years ago
Weiyi Wang
0b9c59ff22
Common/x64: remove legacy emitter and abi ( #2504 )
These are not used any more since we moved shader JIT to xbyak.
9 years ago
Merry
f7e96dc068
shader_jit_x64_compiler: esi and edi should be persistent ( #2500 )
9 years ago
Yuri Kunde Schlesner
37a4ea046d
VideoCore: Make PrimitiveAssembler const-correct
9 years ago
Yuri Kunde Schlesner
dcdffabfe6
VideoCore: Extract swrast-specific data from OutputVertex
9 years ago
Yuri Kunde Schlesner
8ed9f9d49f
VideoCore/Shader: Clean up OutputVertex::FromAttributeBuffer
This also fixes a long-standing but neverthless harmless memory
corruption bug, whech the padding of the OutputVertex struct would get
corrupted by unused attributes.
9 years ago
Yuri Kunde Schlesner
92bf5c88e6
VideoCore: Split shader output writing from semantic loading
9 years ago
Yuri Kunde Schlesner
335df895b9
VideoCore: Consistently use shader configuration to load attributes
9 years ago
Yuri Kunde Schlesner
fccb28d2e9
VideoCore: Use correct register for immediate mode attribute count
9 years ago
Yuri Kunde Schlesner
ab6954e942
VideoCore: Rename some types to more accurate names
9 years ago
Yuri Kunde Schlesner
bbc7844021
VideoCore: Change misleading register names
A few registers had names such as "count" or "number" when they actually
contained the maximum (that is, count - 1). This can easily lead to hard
to notice off by one errors.
9 years ago
Kloen
eee37b857b
video_core: gl_rasterizer_cache.cpp removed unused type alias
9 years ago
Kloen
6a3a3964b0
video_core: gl_rasterizer.cpp removed unused type alias
9 years ago
Kloen
4652d70572
video_core: silence unused-local-typedef boost related warning on GCC
9 years ago
Yuri Kunde Schlesner
0e9081b973
VideoCore/Shader: Move entry_point to SetupBatch
9 years ago
Yuri Kunde Schlesner
0f64274145
VideoCore/Shader: Move per-batch ShaderEngine state into ShaderSetup
9 years ago
Yuri Kunde Schlesner
6fa3687afc
Shader: Remove OutputRegisters struct
9 years ago
Yuri Kunde Schlesner
9ea5eacf91
Shader: Initialize conditional_code in interpreter
This doesn't belong in LoadInputVertex because it also happens for
non-VS invocations. Since it's not used by the JIT it seems adequate to
initialize it in the interpreter which is the only thing that cares
about them.
9 years ago
Yuri Kunde Schlesner
1a2acc3baa
Shader: Don't read ShaderSetup from global state
9 years ago
Yuri Kunde Schlesner
fa4ac279a7
shader_jit_x64: Don't read program from global state
9 years ago
Yuri Kunde Schlesner
ade7ed7c5f
VideoCore/Shader: Move ProduceDebugInfo to InterpreterEngine
9 years ago
Yuri Kunde Schlesner
114d6b2f97
VideoCore/Shader: Split interpreter and JIT into separate ShaderEngines
9 years ago
Yuri Kunde Schlesner
8eefc62833
VideoCore/Shader: Rename shader_jit_x64{ => _compiler}.{cpp,h}
9 years ago
Yuri Kunde Schlesner
dd4a1672a7
VideoCore/Shader: Split shader uniform state and shader engine
Currently there's only a single dummy implementation, which will be
split in a following commit.
9 years ago
Yuri Kunde Schlesner
bd82cffd0b
VideoCore/Shader: Add constness to methods
9 years ago
Yuri Kunde Schlesner
1e1f939817
VideoCore/Shader: Use only entry_point as ShaderSetup param
This removes all implicit dependency of ShaderState on global PICA
state.
9 years ago