Commit graph

3445 commits

Author SHA1 Message Date
Vincent Lejeune 8604f5a02f vulkan: Use d24_u8 or d32_u8 depending on hw support. 2016-03-12 15:56:23 +01:00
Vincent Lejeune 26ff4fd6b7 vulkan: Uses debug output setting to enable debug layers. 2016-03-12 15:23:39 +01:00
kd-11 82bc41f4ad rsx: support for more formats
rsx: support R5G5B5A1 textures
2016-03-11 18:02:29 +03:00
kd-11 cc713a0091 vk: Release dirty resources to prevent mem leak 2016-03-10 23:55:25 +03:00
kd-11 93032be4ab Move waiting for submit fence to the right place (nvidia crash) 2016-03-10 23:55:25 +03:00
kd-11 26964efa7e Support stencil formats
Fix appveyor build
2016-03-10 23:55:25 +03:00
kd-11 f0ded46753 Fix apple build by excluding vk project 2016-03-10 23:55:25 +03:00
kd-11 47d251a818 Change render target layout before clearing
Use LAYOUT_GENERAL during clear; move renderpass begin to draw call end
2016-03-10 23:55:25 +03:00
kd-11 b018c91135 Make render-targets GPU resident
Fix minor regressions that occured during merge
2016-03-10 23:55:25 +03:00
kd-11 d910d2c572 Fix vulkan swap modes for nvidia
CMakeLists edits

Check for linear tiling support for all usage attributes
2016-03-10 23:55:25 +03:00
kd-11 f384d87044 Fix build dependancies and fix gcc build
Factor out _aligned_malloc functions to WIN32 only

Attempt to fix CmakeLists error

More CMakeLists fixes (glslang)

Add OSDependent libs

Add OGLCompiler and SPIRV as well
2016-03-10 23:55:25 +03:00
kd-11 bd52bcf8d4 Fix nvidia crash (API version). Fix linux builds
Properly set up vulkan API version when creating instance

Fix gcc error about passing function result by reference

Fix alot of warnings in VKGSRender project

More fixes for gcc

Fix texture create function
2016-03-10 23:55:25 +03:00
kd-11 d58bd1c916 Exclude apple from vulkan windowing stuff as it is not supported 2016-03-10 23:55:25 +03:00
kd-11 22d49ae96a Fix build for non-WIN32 platforms
Link explicitly against vkstatic.1.lib

fix linux path for vulkan glsl compiler

Restore wxWidgets version
2016-03-10 23:55:25 +03:00
kd-11 3b6e3fb3b4 Rework vertex upload code and fix indexed renders
Rebase on current master; Refactor vertex upload code

Fix build; Minor fixes

Start preparations for merge

Fix generic indexed drawing bugs

Define WIN32_KHR only for windows

Remove linking against vulkan-1.lib
2016-03-10 23:55:25 +03:00
kd-11 d287ba44ce Add vulkan GS backend to project 2016-03-10 23:55:25 +03:00
kd-11 ee0eb70de4 Clean up invalidated resources 2016-03-09 21:11:22 +03:00
Vincent Lejeune 9e01f2817f gl: Use less costly glTexStorage2D instead of glTexImage2D. 2016-03-05 22:04:28 +01:00
Vincent Lejeune 8831bd0918 gl: Factorize code in rsx_gl_texture.cpp 2016-03-05 22:04:28 +01:00
kd-11 a880ce89d1 Checks for texture completeness, remove legacy GL_GENERATE_MIPMAP used wrongfully 2016-03-05 22:19:33 +03:00
Vincent Lejeune 4d71df70db rsx-debug: Record and display index buffer content. 2016-03-05 18:48:30 +01:00
Vincent Lejeune 1dcc6858b4 d3d12/gl: Separate fog distance and fog frag in fogc input. 2016-03-05 18:25:31 +01:00
Vincent Lejeune 52e2800fb5 rsx: Reset fog mode/param to linear/1.;
Fix After Burner Climax fog
2016-03-05 18:25:31 +01:00
kd-11 2ae687cf00 Properly compute texture size 2016-03-05 18:54:06 +03:00
Vincent Lejeune 81fcadac38 gl: Use shared surface store (updated)
Update surface cache optimization to master; minor fixes

Fix mixed EOL

Remove unused include; change null bindings to 0
2016-03-05 12:21:45 +03:00
kd-11 8d3235cd7c Properly set up fog parameters for openGL 2016-03-03 01:07:53 +03:00
kd-11 094c4057be The lod parameter is a single float value 2016-03-02 18:34:13 +03:00
Vincent Lejeune 72375d9e3d build: Add a separate project for ppu llvm recompiler
Fix some defect found by static analysis.
2016-03-02 14:53:14 +01:00
kd-11 7eb5da73fe Allow attrib padding for types that require expansion 2016-03-02 01:09:51 +03:00
Vincent Lejeune 0ed770633b gl: Add texture3d sampling function 2016-02-29 19:47:06 +01:00
Vincent Lejeune 32434dd848 rsx/common/d3d12/gl: Support for fog mode.
Fix hitman 2
2016-02-29 16:31:18 +01:00
Vincent Lejeune 9cdb74efc7 rsx/common: Add supports for quads strip
Used in Hitman 2
2016-02-27 19:38:16 +01:00
Vincent Lejeune 35db227af4 rsx/common/d3d12: Separate int type buffer from float type buffer. 2016-02-27 00:21:14 +01:00
Vincent Lejeune a6ba47265f rsx/common/gl: s32k is actually signed short unormalized.
gl fix
2016-02-27 00:21:12 +01:00
Vincent Lejeune 62246f75c8 d3d12/gl: Supports SSA in Fragment Shader. 2016-02-27 00:21:10 +01:00
Vincent Lejeune a6d8d1144c rsx/common: Supports D24X8 texture format when copying
Some app uses this type before setting proper depth surface
2016-02-27 00:21:08 +01:00
Vincent Lejeune 5ef7f8bf3e rsx/common: Fix handling of UB256 2016-02-27 00:21:06 +01:00
Vincent Lejeune a78ba8a271 d3d12: Remove depth conversion shader
It's actually not needed, raw depth data should be sampled as RGBA8.
2016-02-25 23:29:44 +01:00
Vincent Lejeune 263e5beb26 d3d12: Copy descriptors when reused instead of recreating them.
Thanks Matías N. Goldberg for the tip !
2016-02-25 23:29:43 +01:00
Vincent Lejeune 7ae680d9d1 d3d12: Avoid uploading constant buffer every draw call 2016-02-25 23:29:41 +01:00
kd-11 c5b3359c4b Remove normalization for natively normalized formats; fix cmp attribute type 2016-02-25 17:41:03 +03:00
Raul Tambre 047d59df0c Implement UTF8stoUTF16s, minor cellPngDec fixes
Need to find games to test the case, when fixed alpha isn't specified.
2016-02-25 07:58:21 +02:00
Raul Tambre 41687af077 Implement _sys_memmove 2016-02-25 07:58:21 +02:00
kd-11 974ea68cf9 Always bind null for unused shader inputs
Properly rename index offsets to improve readability
Handle indexed and other array cases
2016-02-25 02:29:35 +03:00
kd-11 8a3d15d4fe Handle swizzled CELL_GCM_B8 textures
Properly handle swizzled single-channel textures
2016-02-24 17:44:24 +03:00
Vincent Lejeune 5a14644cd4 rsx/common/d3d12/gl: Use span in vertex upload function. 2016-02-22 20:22:47 +01:00
Vincent Lejeune 79dc835378 rsx/common: Track transform constant update. 2016-02-21 21:29:44 +01:00
Vincent Lejeune 9ef24509cb d3d12: Use a shared root signature and add more slots
This allows for finer grained rebinding later.
2016-02-21 17:55:34 +01:00
Vincent Lejeune 4b54d7ece1 d3d12: Pretty printing of error messages. 2016-02-21 17:11:54 +01:00
Vincent Lejeune c0423d513d vulkan: Add relevant libs. 2016-02-19 20:03:30 +01:00
kd-11 a451bb574e Enable texture and render target caching for OpenGL 2016-02-17 16:00:23 +03:00
Vincent Lejeune 1675a82efd rsx/common/d3d12/gl: Use gsl::span in TextureUtils.cpp
* get_placed_texture_storage_size returns more accurate result (fix crash in Outrun)
* Factors lot of code and use integer type more carrefully
* Treat warning as error in TextureUtils.cpp
2016-02-16 18:08:22 +01:00
kd-11 3813c09be6 Properly handle inlined vertex data
Fix initial array offsets for dx12
2016-02-16 15:39:18 +03:00
kd-11 2230975e55 Speed up program constants upload by switching to glBufferSubData over glMapBuffer
Fix initialization for fragment constants buffer

Orphan buffers before update. Remove redundant binding
2016-02-15 12:53:55 +03:00
kd-11 7d70be42af Correctly fetch correct pitch and depth for textures from RSX
Include vertex textures too

Set correct stride for vertex texture params

Change references to gl_Position in D3D12FragmentProgramDecompiler

Revert bad commit
2016-02-15 11:15:51 +03:00
Raul Tambre 9452c6b08c Fix CMake libpng linking 2016-02-14 19:50:36 +02:00
Vincent Lejeune 837e06e85b rsx/common/d3d12: Support non default alpha function
Fix After burner climax cloud effects.
2016-02-13 17:07:12 +01:00
kd-11 843d0ed298 Fragment position is given as gl_FragCoord not gl_Position
Fix references to gl_Position in Dx12
2016-02-12 18:34:41 +03:00
Raul Tambre 1072540e3e Fix compiling 2016-02-08 19:12:30 +02:00
Raul Tambre 0c8c13b8b7 Rewrite cellPngDec to use libpng
Improvements made:
* Supports tEXt chunks
* Supports chunk information
* Supports 16-bit depth image packing (fixes #1127)
* Supports fixed alpha values
* And more.
2016-02-08 19:12:29 +02:00
Vincent Lejeune f0dc38cadd rsx/common/d3d12: Support back spec/diffuse color.
Fix green car in Outrun.
2016-02-08 17:35:52 +01:00
Vincent Lejeune 4efa2266e6 rsx/common/d3d12: Use m_texture_dirty[i] to signal texture state change and avoid unecessary bind operation. 2016-02-08 17:35:50 +01:00
Vincent Lejeune 1f7a1e4078 rsx/common/d3d12/gl: Fix lit and rsq behavior near 0 in vertex shaders. 2016-02-08 17:35:49 +01:00
kd-11 ddf5b52360 Implement rectangle textures natively on OpenGL 2016-02-07 08:57:04 +03:00
kd-11 d3405da5c4 Fix LLVM build by changing variable to appropriate type 2016-02-05 18:57:57 +03:00
kd-11 137821c866 Move program validation from link-time to draw-time to compy with spec 2016-02-04 11:19:13 +03:00
kd-11 7b889a10cc Add vertex texture buffers for VS input
Support vertex instancing in vertex shader using VertexID

Relax OpenGL requirements by removing 4.5 features

Use EXT version of TexBufferRange; Implement buffer copy using TexBuffer

Apply travis workaround by danilaml

Fix vertex upload in in case of inlined array
2016-02-03 13:38:23 +03:00
kd-11 660f491310 Rework OGL texture swizzles;
Decode textures using TextureUtils

Shut compiler up about missing return value (unsure)

Revert "Shut compiler up about missing return value (unsure)"

This reverts commit db43ba448776e6c0d6c90909b4037b6f698a545c.

Change some functions in rsx::gl::texture to static.

Replace large switch block in gl::textures::mandates_expansion with simple if tests
2016-02-01 20:11:33 +03:00
Vincent Lejeune 3d960064ef d3d12: Use unnormalized_coords info in RSXFragment 2016-01-30 22:04:36 +01:00
Vincent Lejeune f6d2409b20 rsx/common/d3d12: Support for shader window setting. 2016-01-30 21:58:12 +01:00
Vincent Lejeune 5f35f2ac7d rsx/common/d3d12: Support for texture 1d too.
They are used in after burner climax
2016-01-30 01:13:15 +01:00
Vincent Lejeune d19d9ccd0b d3d12: Fix for #1459 2016-01-29 20:18:52 +01:00
Vincent Lejeune 149fa9d750 rsx/common: Make RSXFragmentProgram key and not just pointer. 2016-01-27 23:16:06 +01:00
Vincent Lejeune 3bd2114815 rsx-debug: Dump windows origin/pixel center. 2016-01-27 22:41:19 +01:00
Vincent Lejeune acd384ae2d rsx/common: Base offset is actually correctly supported.
Outrun uses it and cars are correctly displayed.
2016-01-27 22:05:43 +01:00
Nekotekina b77666cbba cellGame fix 2016-01-27 19:39:31 +03:00
Nekotekina 128ee67bba PSF Loader simplified 2016-01-27 19:17:01 +03:00
Nekotekina 7417033d7f GLGSRender fix 2016-01-27 18:14:39 +03:00
DHrpcs3 e8a940172c fixed GameViewer crash if entry not exists
fixed psf::entry::as_string & psf::entry::value(string)
2016-01-27 18:14:38 +03:00
DHrpcs3 290bdc4566 added psf::object::get 2016-01-27 18:14:36 +03:00
DHrpcs3 220aab1fd0 Reimplemented psf loader 2016-01-27 18:14:35 +03:00
Vincent Lejeune aa450b56f1 d3d12: Make some memory helper structure uncopyable/unmovable. 2016-01-26 23:20:23 +01:00
Vincent Lejeune 6d70f3c237 d3d12: Compare mipmap/depth count when checking texture compatibility.
d3d12: Check for depth in texture cache.

Fix Resogun crash when loading a level.
2016-01-26 23:13:30 +01:00
Vincent Lejeune 6384541345 d3d12: Store vertex attributes as SRV and disable Input_layout. 2016-01-26 23:13:29 +01:00
Vincent Lejeune 3c3f92f29b rsx/common/d3d12: Support 3d textures 2016-01-26 17:56:02 +01:00
Vincent Lejeune 24255f7883 rsx/common/d3d12/gl: Add some texture info to RSXFragmentProgram 2016-01-26 17:56:01 +01:00
Vincent Lejeune b71caa94ac rsx-debug: Print number of vertex draw again. 2016-01-25 18:48:53 +01:00
Vincent Lejeune 9b8522e734 rsx/common: Div is vector over scalar division
According to investigation on Resogun.
2016-01-24 00:13:17 +01:00
Vincent Lejeune 4ce4cf5242 rsx: Add vertex input and output in RSXVertexProgram. 2016-01-22 01:24:54 +01:00
DHrpcs3 19ce0cdc09 rsx methods constants moved to rsx namespace
minor fix
2016-01-20 20:12:48 +03:00
DHrpcs3 2e58f312d5 rsx: implemented internal tasks queue (WIP) 2016-01-20 17:12:49 +03:00
DHrpcs3 7523d01e0f Code style fixes #2 2016-01-20 16:39:06 +03:00
DHrpcs3 7972cb5bdc Code style fixes #1 2016-01-20 16:23:25 +03:00
DHrpcs3 685d5d3ea3 Access violation handled by rsx::thread
gfxHandler -> rsx::g_access_violation_handler
2016-01-20 15:46:58 +03:00
Vincent Lejeune f453194e32 rsx: Fix int type not big enough
Fix glitch in After Burner Climax
2016-01-19 23:24:39 +01:00
Vincent Lejeune 440c637b1f rsx/common/d3d12: Move surface_store in common 2016-01-19 22:49:10 +01:00
Vincent Lejeune 6aac972bda d3d12/gl: Use r1 as depth output.
The "Output_from_h0" flag seems to concern color output.
There might be another flag for depth from half float value.
2016-01-19 00:45:26 +01:00
Vincent Lejeune 1ce49b60d9 rsx-debug/d3d12: Support all rtt formats. 2016-01-17 20:02:30 +01:00
Vincent Lejeune 26f329d186 d3d12: Fix dsv increment size
Typo.
2016-01-16 18:25:20 +01:00
Vincent Lejeune 5ace4438e2 d3d12: Fix texture proj
I misinterpreted "last component" from glsl doc... it's w, not z.
2016-01-16 18:25:19 +01:00