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
9 years ago
Yuri Kunde Schlesner
f4e98ecf3f
VideoCore: Convert x64 shader JIT to use Xbyak for assembly
9 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.
9 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
9 years ago
emmauss
c4e4fa53d9
Implement Frame rate limiter ( #2223 )
* implement frame limiter
* fixes
9 years ago
Jannik Vogel
fc4591fa49
ASSERT that shader was linked successfully
9 years ago
Jannik Vogel
4088afe23c
Report shader uniform block size in case of mismatch
9 years ago
Jannik Vogel
0edc986861
Print broken shader code to log
9 years ago
Yuri Kunde Schlesner
8a1f96011d
OpenGL: Non-zero stride only makes sense for linear buffers
9 years ago
Yuri Kunde Schlesner
2600633b89
OpenGL: Ensure framebuffer binding is restored if completion check fails
9 years ago
Yuri Kunde Schlesner
ba7f213655
OpenGL: Fix DisplayTransfer accel when input width != output width
Fixes #2246 , #2261
9 years ago
Jannik Vogel
2d8097eecc
shader_jit: Fix non-SSE4.1 path where FLR would not truncate
9 years ago
Yuri Kunde Schlesner
4d5e42240c
clang-format: Fix coding style
9 years ago
Jannik Vogel
e2cb7d7833
shader_jit: Load LOOPCOUNT_REG and LOOPINC 4 bit left-shifted
9 years ago
Subv
e3e4f27447
ClangFormat: Fixed the clang-format errors
9 years ago
Subv
aea9a91100
Build: Fixed a few warnings.
9 years ago
Emmanuel Gil Peyrot
0820c99462
GPU: Remove the broken frame_skip option.
Fixes #1960 .
9 years ago
Subv
4623415026
RasterizerGL: Use GL_TRUE and 0xFF in the stencil and depth masks instead of simply true and -1
9 years ago
Subv
743b0e71d9
Rasterizer/Memfill: Set the correct stencil write mask when clearing the stencil buffer.
9 years ago
jphalimi
82210ab480
Cache Vertices instead of Output registers ( #2165 )
This patch brings +3% performance improvement on average. It removes
ToVertex() as an important hotspot of the emulator.
9 years ago