Commit graph

3360 commits

Author SHA1 Message Date
Ben Vanik
cd02cdfc70 Making memory API less error prone; fixes buffer/constant uploads. 2016-02-20 19:19:29 -08:00
Ben Vanik
fad5ad7f64 Merge pull request #547 from DrChat/spv_translator
Couple Quick Fixes to SPV translator
2016-02-20 17:36:58 -08:00
Dr. Chat
8777d22b72 Add name information to constants
Fix Rcp/Rsq OpSelect incorrect usage
2016-02-20 19:31:28 -06:00
Ben Vanik
1d82d7bd92 For now, all 512 constants live in the same block. 2016-02-20 17:05:53 -08:00
Ben Vanik
92a8a03caa Merge pull request #546 from DrChat/spv_translator
(WIP) SPIR-V Shader Translator
2016-02-20 16:49:50 -08:00
Dr. Chat
4aff1c19a7 (WIP) SPIR-V Shader Translator 2016-02-20 18:44:37 -06:00
Ben Vanik
b5a0c4715b Porting GL4 geometry shaders. Likely not working. 2016-02-20 16:35:21 -08:00
Ben Vanik
769c58a9b2 Adding xb genspirv to do glsl->.h. 2016-02-20 16:24:42 -08:00
Ben Vanik
5759f82276 Adding pipeline caching. 2016-02-20 15:00:11 -08:00
Ben Vanik
731ff52773 Implementing a lot of the pipeline state setting. 2016-02-20 12:59:18 -08:00
Ben Vanik
97174dbe4d Skeleton leaky hacky hardcoded pipeline setup. 2016-02-19 23:23:58 -08:00
Ben Vanik
990b600f53 Buffer uploads (without reclaiming, yet). 2016-02-19 21:08:50 -08:00
Ben Vanik
de1e4661ff Not crashing (but also likely not working) EDRAM emulation. 2016-02-19 20:36:10 -08:00
Ben Vanik
8820c73532 A night's worth of work: documented EDRAM. Seems mostly right. 2016-02-19 10:38:11 -08:00
Ben Vanik
1dcc84a472 Starting render passes. 2016-02-18 18:18:31 -08:00
Ben Vanik
52a6f795f7 Shader modules and plumbing. 2016-02-18 18:18:31 -08:00
Ben Vanik
e14b2fe766 Merge pull request #542 from DrChat/vulkan_misc
Fix Validator Error (with swapchains)
2016-02-18 18:15:52 -08:00
Dr. Chat
f9ca0b86a8 Query to see if the physical device supports a swapchain surface to silence a validation layer error. 2016-02-18 20:10:14 -06:00
Ben Vanik
3bf1c91eaa Those are really pointers - need those bits. 2016-02-18 16:52:52 -08:00
Ben Vanik
4c4a641096 WIP rough sketch of vulkan backend structure. 2016-02-18 16:43:41 -08:00
Ben Vanik
35e08d9428 Switching from fork to main glslang spirv builder. 2016-02-18 16:43:41 -08:00
Ben Vanik
00594da417 Adding mutliple queue/shared queue support. 2016-02-18 16:43:41 -08:00
Ben Vanik
ea959b52fd Adding a subset of the glslang repo dealing with spirv.
The main repo is a mess.
2016-02-18 16:43:41 -08:00
Ben Vanik
ecd257b34c Fix headers include guards. 2016-02-18 16:43:41 -08:00
Ben Vanik
618ca80011 Count packed bytes used by a constant map. 2016-02-18 16:43:41 -08:00
Ben Vanik
5ab0af9e6d Implementing shader constant register map construction. 2016-02-18 16:43:41 -08:00
Ben Vanik
05107d2d3e Skeleton xenia::gpu::vulkan implementation, enough to start trace viewer. 2016-02-18 16:43:41 -08:00
Ben Vanik
ca5902c111 Recreate swap chain on window resize. 2016-02-18 16:43:41 -08:00
Ben Vanik
a97fa36512 Fixing swap chain scissoring; surface is still not resized right. 2016-02-18 16:43:41 -08:00
Ben Vanik
9f52f2e819 Initial vulkan context and immediate drawer.
Extremely rough, just checking in so DrChat can snoop.
2016-02-18 16:43:41 -08:00
Ben Vanik
d52d2c4837 Merge pull request #540 from DrChat/gl4_fixes
GL4 fixes
2016-02-17 16:08:09 -08:00
Dr. Chat
27bace0e5c Actually disable writewatch kill in ConvertTexture 2016-02-17 18:04:10 -06:00
Dr. Chat
b14c4ad681 Disable write watch kill in ConvertTexture 2016-02-17 17:57:56 -06:00
Dr. Chat
8bf1bf57fd Fix GL4 alpha test, use blend disable flag
If color clear is enabled, grab the color target no matter what.
Update texture readback code on copy (but not enabled)
Track PA_SC_VIZ_QUERY in UpdateRasterizerState
2016-02-17 17:56:28 -06:00
Ben Vanik
f5eef128f8 Merge pull request #539 from DrChat/vizquery_wip
Viz Query WIP Notes
2016-02-16 17:21:39 -08:00
Ben Vanik
864b1b5fac Merge pull request #538 from DrChat/trace_viewer_misc
Trace Viewer Zoomed View / Fix Alpha Test
2016-02-16 17:19:26 -08:00
Dr. Chat
a2dd1c48ae Add some WIP viz query notes to the command processor.
Also implement PM4_SET_BIN_MASK/SELECT.
2016-02-16 18:36:43 -06:00
Dr. Chat
253e164753 Move EnableDepthTest functionality into a bool alpha_blend var on ImmediateDraw. 2016-02-16 18:24:37 -06:00
Ben Vanik
c667dfc596 Don't put kernel stacks in GPU memory. 2016-02-16 15:05:11 -08:00
Dr. Chat
e77af94c7c Ignore color target / depth target / texture alpha in the trace viewer. 2016-02-16 16:45:49 -06:00
Dr. Chat
a8dfd6a21a Add a flag to ImTextureID that disables alpha test 2016-02-16 16:43:12 -06:00
Dr. Chat
65d1ea0250 Add a zoomed image view for color targets and depth targets. 2016-02-16 16:41:20 -06:00
Ben Vanik
c5de61860d Merge pull request #531 from DrChat/gl4_shader_cache
GL4 Shader Cache
2016-02-16 07:20:33 -08:00
Ben Vanik
f16a288f30 Merge pull request #532 from DrChat/profiler_flip_decouple
Decouple MicroProfilerFlip from Profiler::Present
2016-02-16 07:19:20 -08:00
Ben Vanik
cc00b2d7a5 Merge pull request #533 from sephiroth99/noamd
More shader changes
2016-02-16 07:18:55 -08:00
Ben Vanik
043e5699ac Merge pull request #535 from sephiroth99/variousfixes
Two small fixes
2016-02-16 07:18:19 -08:00
sephiroth99
a442bb50b4 Prevent undefined behaviour with thread_safe_gl enabled.
CreateOffscreenContext already calls ClearCurrent. When it is done twice,
the global GL mutex is unlocked a second time, and undefined behavour
happens. In this particular case, a deadlock occured; unlocking the already
unlocked mutex locked it.
2016-02-11 23:50:11 -05:00
sephiroth99
205f64eb8b Fix compilation with VS2015 Update 2 CTP 2016-02-11 23:47:11 -05:00
sephiroth99
00674736fe Fix minor syntax error in shaders.
Discovered with glslangValidator.
2016-02-08 20:42:09 -05:00
sephiroth99
1520869a82 Revert "AMD people: have at it. I ain't gonna guarantee it'll work, though."
This reverts commit 8c0614b202.

Recent changes to generated shaders require GLSL 4.50.
2016-02-08 20:40:52 -05:00