Commit graph

3418 commits

Author SHA1 Message Date
Vincent Lejeune e083c1471c vulkan: Fix crash at exit 2016-03-19 00:17:00 +01:00
Vincent Lejeune d9eba43360 vulkan: Do not create empty render pass.
Fix a crash with radeon crimson drivers.
2016-03-19 00:16:59 +01:00
Vincent Lejeune 24eb544046 vulkan: Move descriptor sets and layout in VKGSRender class
They're now shared between all programs.
2016-03-18 00:08:28 +01:00
Vincent Lejeune 6a1f0aed36 vulkan: Precompute all possibles render pass 2016-03-18 00:08:28 +01:00
Vincent Lejeune 6229733fbb vulkan: Use a shared pipeline layout 2016-03-17 20:03:09 +01:00
Vincent Lejeune 7e971eb032 vulkan: Fix for get_memory_mapping 2016-03-17 20:03:09 +01:00
AnnieL 212fd4b340 Adds the stb_truetype Mac OSX fix from 64cfab5
Adds the stb_truetype Mac OSX fix from 64cfab5
Removes stb_image.c from the Visual Studio Project files since it got
deleted in previous commit
2016-03-17 18:03:59 +00:00
AnnieL 659f3d856a Update stb_truetype from 0.7 to 1.09
Updates stb_truetype.h from 0.7 to 1.09
Fixes '>=' signed/unsigned mismatch at cellFont.cpp lines 328 and 333 by
making both values unsigned (u32)
2016-03-17 18:03:59 +00:00
AnnieL 8cded28c45 Updates stb_image from 1.33 to 2.10
Updates stb_image from 1.33 to 2.10 which deprecates stb_image.c and
uses only stb_image.h
2016-03-17 18:03:59 +00:00
kd-11 26738762ea vk: Indexing into mipmap lod is scalor not vector 2016-03-17 19:43:41 +03:00
AnnieL 5250911a40 Fixes #1584
When DirectX 12 is missing, the emulator thinks Vulkan = DirectX 12 because Vulkan takes DX12's place in the box (id=2), and therefore runs DX12 when Vulkan is selected, crashing the emulator with an unhandled exception.

Fixes it by translating renderer string value to the respective enum class before sending the value to config.h instead of just relying on the box's selected id -> cbox_gs_render->GetSelection()

Also changes the order of the renderers (for convinience, now DX12 is id=3) from
Null, OpenGL, DirectX 12, Vulkan
to
Null, OpenGL, Vulkan, DirectX 12
2016-03-17 10:04:03 +00:00
kd-11 15901589a5 Explicitly declare context attributes for GL canvas 2016-03-16 08:35:19 +03:00
Vincent Lejeune 61de5e8835 vulkan: Clear swapchain before usage.
Fix VkQueuePresentKHR error messages
2016-03-15 22:03:24 +01:00
Vincent Lejeune 3b3fffa962 vulkan: Remove redundant texture::create/init overloads 2016-03-15 22:03:24 +01:00
Vincent Lejeune 63ad2cce72 vulkan: Use ring allocation for uniform/index buffers by using simpler memory_block and buffer class. 2016-03-15 22:03:24 +01:00
Vincent Lejeune da2caa0881 vulkan: precompute memory type mapping. 2016-03-15 22:02:30 +01:00
kd-11 f2d5542e66 Re-enable fog parameters for vulkan 2016-03-15 22:32:32 +03:00
AnnieL 9fd244cf9c Set Write/Read Color/Depth Buffers to false by default
Since they're not working properly right now, there's no reason for them to be enabled by default.
2016-03-14 19:06:20 +00:00
Vincent Lejeune 5de70628d7 rsx/common/d3d12/gl/vulkan: Unify texture upload code. 2016-03-14 19:10:51 +01:00
kd-11 d9dbb1565a Immutable textures cannot be reused! 2016-03-14 18:14:06 +03:00
kd-11 34992d8a8f vk: Add some more blend ops 2016-03-14 18:14:06 +03:00
Nekotekina 702193a6c7 Build fixed 2016-03-13 19:39:54 +02:00
Vincent Lejeune 70a80b84d7 vulkan: Zero initialize as much structure info as possible.
This fixes a crash with nvidia driver in present call (likely because of
some uninitialized member)
2016-03-12 22:22:28 +01:00
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