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
Yuri Kunde Schlesner
e3caf669b0
VideoCore/Shader: Use self instead of g_state.vs in ShaderSetup
9 years ago
Yuri Kunde Schlesner
34d581f2dc
VideoCore/Shader: Extract input vertex loading code into function
9 years ago
Kloen
5cc94c17f6
video_core: fix shader.cpp signed / unsigned warning
9 years ago
Kloen
753fea5d65
video_core: gl_rasterizer float to int warning
9 years ago
Kloen
b6063d9a93
video_core: fix gl_rasterizer warning on MSVC
9 years ago
bunnei
22ad9094e6
config: Add option for specifying screen resolution scale factor.
9 years ago
Jonathan Hao
c18cb1b192
Fix some warnings ( #2399 )
9 years ago
Jannik Vogel
6ed4206f87
Minor cleanup in GLSL code
9 years ago
Jannik Vogel
88f409aec9
Offset lighting LUT samples correctly
9 years ago
MerryMage
64f98f4d0f
core: Move emu_window and key_map into core
* Removes circular dependences (common should not depend on core)
9 years ago
Albin Bernhardsson
ddec9cb369
Use GL_TRUE when setting color_mask
9 years ago
Yuri Kunde Schlesner
c135317de1
VideoCore/Shader: Extract DebugData out from UnitState
9 years ago
Yuri Kunde Schlesner
6e7e767645
Remove unnecessary cast
9 years ago
Yuri Kunde Schlesner
b5e3599704
VideoCore/Shader: Extract evaluate_condition lambda to function scope
9 years ago
Yuri Kunde Schlesner
960578f4e1
VideoCore/Shader: Extract call lambda up a scope and remove unused param
9 years ago
Yuri Kunde Schlesner
e4e962bc7c
VideoCore/Shader: Remove dynamic control flow in (Get)UniformOffset
9 years ago
Yuri Kunde Schlesner
d27cb1dedc
VideoCore/Shader: Move DebugData to a separate file
9 years ago
Yuri Kunde Schlesner
fb9e856b91
shader_jit_x64: Use LOOPCOUNT_REG as a 64-bit reg when indexing
9 years ago
Yuri Kunde Schlesner
ac9f937477
VideoCore: Make profiling scope more representative
9 years ago
Yuri Kunde Schlesner
945f554b84
VideoCore: Inline IsPicaTracing
Speeds up ALBW main menu slightly (~3%)
9 years ago
Yuri Kunde Schlesner
f00ada3363
VideoCore: Eliminate an unnecessary copy in the drawcall loop
9 years ago
Yuri Kunde Schlesner
5ff3206207
shader_jit_x64: Use Reg32 for LOOP* registers, eliminating casts
10 years ago
Yuri Kunde Schlesner
f4e98ecf3f
VideoCore: Convert x64 shader JIT to use Xbyak for assembly
10 years ago
Lioncash
963aedd8cc
Add all services to the Service namespace
Previously there was a split where some of the services were in the
Service namespace and others were not.
10 years ago
Markus Wick
d0d49bb951
OpenGL: Drop framebuffer completeness check.
This OpenGL call synchronize the worker thread of the nvidia blob.
It can be verified on linux with the __GL_THREADED_OPTIMIZATIONS=1 environment variable.
Those errors should not happen on tested drivers.
It was used as a workaround for https://bugs.freedesktop.org/show_bug.cgi?id=94148
10 years ago
emmauss
c4e4fa53d9
Implement Frame rate limiter ( #2223 )
* implement frame limiter
* fixes
10 years ago
Jannik Vogel
fc4591fa49
ASSERT that shader was linked successfully
10 years ago
Jannik Vogel
4088afe23c
Report shader uniform block size in case of mismatch
10 years ago
Jannik Vogel
0edc986861
Print broken shader code to log
10 years ago