Yuri Kunde Schlesner
1f22f0939c
CMake: Create INTERFACE targets for microprofile and nihstro
2017-05-27 22:34:52 -07:00
Yuri Kunde Schlesner
96dc0780e9
CMake: Use IMPORTED target for libpng
2017-05-27 20:44:51 -07:00
Yuri Kunde Schlesner
b78ce2bce5
CMake: Correct inter-module dependencies and library visibility
...
Modules didn't correctly define their dependencies before, which relied
on the frontends implicitly including every module for linking to
succeed.
Also changed every target_link_libraries call to specify visibility of
dependencies to avoid leaking definitions to dependents when not
necessary.
2017-05-27 18:41:24 -07:00
wwylele
b010ff8174
pica/swrasterizer: implement procedural texture
2017-05-20 13:50:50 +03:00
Yuri Kunde Schlesner
dfc2ec178f
SWRasterizer: Move texturing functions to their own file
2017-02-12 18:12:37 -08:00
Yuri Kunde Schlesner
fed2e59280
SWRasterizer: Move framebuffer operation functions to their own file
2017-02-12 18:11:03 -08:00
Yuri Kunde Schlesner
9c0a770c16
VideoCore: Move software rasterizer files to sub-directory
2017-02-12 18:08:11 -08:00
Yuri Kunde Schlesner
a0b1957425
VideoCore: Move Regs to its own file
2017-02-04 13:59:12 -08:00
Yuri Kunde Schlesner
08df8f7d7a
VideoCore: Split shader regs from Regs struct
2017-02-04 13:59:11 -08:00
Yuri Kunde Schlesner
90d220d1b3
VideoCore: Split geometry pipeline regs from Regs struct
2017-02-04 13:59:11 -08:00
Yuri Kunde Schlesner
b4306bed74
VideoCore: Split lighting regs from Regs struct
2017-02-04 13:59:11 -08:00
Yuri Kunde Schlesner
6f9218c8ec
VideoCore: Split framebuffer regs from Regs struct
2017-02-04 13:59:11 -08:00
Yuri Kunde Schlesner
1242f42a09
VideoCore: Split texturing regs from Regs struct
2017-02-04 13:59:09 -08:00
Yuri Kunde Schlesner
d3928b7f9a
VideoCore: Split rasterizer regs from Regs struct
2017-02-04 13:08:47 -08:00
Yuri Kunde Schlesner
2937a44eed
Pica/Texture: Move part of ETC1 decoding to new file and cleanups
2017-02-04 12:33:28 -08:00
Yuri Kunde Schlesner
d1270b647c
VideoCore: Move LookupTexture out of debug_utils.h
2017-02-04 12:31:40 -08:00
Yuri Kunde Schlesner
931a2b0ca4
VideoCore/Shader: Split interpreter and JIT into separate ShaderEngines
2017-01-25 18:53:24 -08:00
Yuri Kunde Schlesner
88b533871e
VideoCore/Shader: Rename shader_jit_x64{ => _compiler}.{cpp,h}
2017-01-25 18:53:23 -08:00
Yuri Kunde Schlesner
ec7b3940b0
VideoCore/Shader: Move DebugData to a separate file
2016-12-15 23:08:05 -08:00
Yuri Kunde Schlesner
2d892f845c
VideoCore: Convert x64 shader JIT to use Xbyak for assembly
2016-12-14 20:06:08 -08:00
Jannik Vogel
9d522e8441
Remove TGA dumper
2016-04-30 09:43:59 +02:00
Henrik Rydgard
c1ee661492
Refactor: Extract VertexLoader from command_processor.cpp.
...
Preparation for a similar concept to Dolphin or PPSSPP. These can be JIT-ed and cached.
2016-04-28 19:05:55 +02:00
Dwayne Slater
141fe87a0f
Add immediate mode vertex submission
2016-03-02 22:16:38 -05:00
bunnei
d5edd881d3
pica: Add pica_types module and move float24 definition.
2016-02-05 17:17:26 -05:00
Yuri Kunde Schlesner
102d39fe20
VideoCore: Unify interface to OpenGL and SW rasterizers
...
This removes explicit checks sprinkled all over the codebase to instead
just have the SW rasterizer expose an implementation with no-ops for
most operations.
2015-12-07 20:20:38 -08:00
bunnei
eefabd6b7d
renderer_opengl: Refactor shader generation/caching to be more organized + various cleanups.
2015-10-21 21:53:14 -04:00
Yuri Kunde Schlesner
e5cc2e2ef0
Replace the previous OpenGL loader with a glad-generated 3.3 one
...
The main advantage of switching to glad from glLoadGen is that, apart
from being actively maintained, it supports a customizable entrypoint
loader function, which makes it possible to also support OpenGL ES.
2015-08-30 08:45:56 -03:00
bunnei
4ffc095fa3
Rename ARCHITECTURE_X64 definition to ARCHITECTURE_x86_64.
2015-08-15 18:03:27 -04:00
bunnei
f9e3228caa
x64: Refactor to remove fake interfaces and general cleanups.
2015-08-15 18:03:25 -04:00
bunnei
c03924e60e
Shader: Initial implementation of x86_x64 JIT compiler for Pica vertex shaders.
...
- Config: Add an option for selecting to use shader JIT or interpreter.
- Qt: Add a menu option for enabling/disabling the shader JIT.
2015-08-15 18:01:07 -04:00
bunnei
5794310781
Shader: Define a common interface for running vertex shader programs.
2015-08-15 17:33:44 -04:00
bunnei
2d100ebae3
Shader: Move shader code to its own subdirectory, "shader".
2015-08-15 17:33:42 -04:00
bunnei
f622a78544
GPU: Refactor "VertexShader" namespace to "Shader".
...
- Also renames "vertex_shader.*" to "shader_interpreter.*"
2015-08-15 17:33:41 -04:00
Yuri Kunde Schlesner
1762267de4
OpenGL: Make OpenGL object resource wrappers fully inline
...
The functions are so simple that having them separate only bloats the
code and hinders optimization.
2015-07-26 10:58:58 -03:00
archshift
76690392bf
Move video_core/color.h to common/color.h
2015-05-30 11:17:37 -07:00
archshift
5df2d1b5f7
Move video_core/math.h to common/vector_math.h
...
The file only contained vector manipulation code, and such widely-useable code doesn't belong in video_core.
2015-05-30 11:17:36 -07:00
bunnei
1b42d55a9d
Pica: Create 'State' structure and move state memory there.
2015-05-22 22:59:42 -04:00
tfarley
05dc633a8c
OpenGL renderer
2015-05-22 15:51:18 -07:00
bunnei
34c31db14a
GPU: Added RGB565/RGB8 framebuffer support and various cleanups.
...
- Centralizes color format encode/decode functions.
- Fixes endianness issues.
- Implements remaining framebuffer formats in the debugger.
2015-03-03 18:26:03 -05:00
Yuri Kunde Schlesner
45976da975
CMake cleanup
...
Several cleanups to the buildsystem:
- Do better factoring of common libs between platforms.
- Add support to building on Windows.
- Remove Qt4 support.
- Re-sort file lists and add missing headers.
2014-09-01 18:06:30 -03:00
Yuri Kunde Schlesner
478289140d
Replace GLEW with a glLoadGen loader.
...
This should fix the GL loading errors that occur in some drivers due to
the use of deprecated functions by GLEW. Side benefits are more accurate
auto-completion (deprecated function and symbols don't exist) and faster
pointer loading (less entrypoints to load). In addition it removes an
external library depency, simplifying the build system a bit and
eliminating one set of binary libraries for Windows.
2014-09-01 17:41:56 -03:00
Kevin Hartman
cbfd6b6e52
Rewrite of OpenGL renderer, including OS X support
...
Screen contents are now displayed using textured quads. This can be updated to expose an FBO once an OpenGL backend for when Pica rendering is being worked on. That FBO's texture can then be applied to the quads.
Previously, FBO blitting was used in order to display screen contents, which did not work on OS X. The new textured quad approach is less of a compatibility risk.
2014-08-25 20:56:59 -07:00
Tony Wasserka
6ea003c7b5
Pica: Add debug utility functions for dumping geometry data.
2014-08-25 22:03:18 +02:00
Tony Wasserka
94d742fe17
Pica: Add basic rasterizer.
2014-08-12 13:50:07 +02:00
Tony Wasserka
94aa9da562
Pica: Add triangle clipper.
2014-08-12 13:49:33 +02:00
Tony Wasserka
9a76a2d061
Pica: Add primitive assembly stage.
2014-08-12 13:48:56 +02:00
Tony Wasserka
c526512619
Pica: Add vertex shader implementation.
2014-08-12 13:48:10 +02:00
Tony Wasserka
76a586de49
Pica: Add command processor.
2014-08-12 13:47:30 +02:00
Tony Wasserka
8528c810cf
Video core: Add utility class for vector operations.
...
I wrote most of this for ppsspp, so I hold full copyright over it.
In addition to the original release in ppsspp, this provides functionality to easily extend e.g. two-dimensional vectors to three-dimensional vectors.
2014-08-12 13:46:20 +02:00
archshift
403e4bf837
CMakeLists: rename HEADS, improved comments
...
Changes for clarity of comments, removed redundant compiler flags.
2014-05-19 15:19:36 -07:00