Commit Graph

42 Commits

Author SHA1 Message Date
Dr. Chat
2eca3ce9e6 Texture uploads/basic formats
Fixed swizzle one/zero mismatch
Sampler setup
Remove samplers from the descriptor set layout
2016-04-01 21:51:17 -05:00
Dr. Chat
fc1bd0f379 Fix texture uploads 2016-03-25 17:29:39 -05:00
Dr. Chat
692d666d57 Wipe the buffer cache in ClearCache for now. 2016-03-25 16:50:06 -05:00
Dr. Chat
0e44cda961 Update the rectangle list shader 2016-03-25 16:49:41 -05:00
Dr. Chat
a5a31cf123 VulkanShader::Prepare - return false if vkCreateShaderModule failed. 2016-03-25 16:37:24 -05:00
Dr. Chat
f75e5fec24 CP: Use a single command buffer for every frame, reuse render passes/pipelines if not dirty
Hook up resolves and swaps
2016-03-25 16:35:34 -05:00
Dr. Chat
1e1da1eb6c PipelineCache::ConfigurePipeline - Inform the caller if the pipeline is dirty or they can reuse the previously bound pipeline.
Make SetDynamicState public.
2016-03-25 16:34:14 -05:00
Dr. Chat
b2457d7e72 Basic texture uploads/address lookups/etc
Freeing of descriptor sets when the GPU is finished with them.
2016-03-25 16:32:29 -05:00
Dr. Chat
0e41774e36 RenderCache::dirty() - used to tell if we need to begin a new pass
Round all pixel pitch/heights up before dividing.
2016-03-25 16:31:12 -05:00
Dr. Chat
e72e283e79 Primitive type makes rasterization state dirty too! 2016-03-23 16:20:06 -05:00
Dr. Chat
1831e7a936 Pipeline stencil state 2016-03-16 14:45:40 -05:00
Dr. Chat
245102e9e5 RenderCache::BlitToImage 2016-03-12 22:04:32 -06:00
Dr. Chat
822d61c3d9 Fix a few stale data usage bugs in the pipeline cache.
Hook up part of depth/stencil tests/writes
2016-03-12 22:03:11 -06:00
Dr. Chat
5ba04b9e55 RenderCache::ClearEDRAMColor/ClearEDRAMDepthStencil 2016-03-12 11:49:59 -06:00
Dr. Chat
635d095b87 RenderCache: Track color target / depth target usage, refactor RawCopyToImage 2016-03-10 20:39:46 -06:00
Dr. Chat
f903a559b3 Blit Vulkan CP output to the main window's swap chain 2016-03-10 13:01:39 -06:00
Dr. Chat
86cb40f0c6 Change how the render cache renders into EDRAM.
Rendering directly into the EDRAM buffer is bad because we don't know how the GPU lays out memory when it draws. Instead, we create temporary render targets and copy EDRAM contents to/from those temporary RTs before and after each draw.
2016-03-08 18:02:03 -06:00
Dr. Chat
4e27539709 Fix Vulkan texture drawing. 2016-03-08 17:57:04 -06:00
Dr. Chat
af7fc20c38 Beginnings of texture conversion/uploads 2016-03-05 22:09:18 -06:00
Dr. Chat
c648e54539 Short-circuit draw calls if the render target's pitch is 0 2016-02-27 11:30:50 -06:00
Ben Vanik
62931f8c8e Adding texture setup and a dummy grid texture. 2016-02-21 19:56:23 -08:00
Ben Vanik
cda08ff826 Setup descriptor set for textures. 2016-02-21 17:17:57 -08:00
Ben Vanik
1def5bece9 Fix viewport inversion. 2016-02-21 15:59:35 -08:00
Ben Vanik
24743bf676 Actually configure constant descriptor set. 2016-02-21 15:20:35 -08:00
Ben Vanik
d57f974e2e Fix buffer alloc alignment and framebuffer comparison. 2016-02-21 14:43:59 -08:00
Ben Vanik
8bf5eba098 Capture exe with renderdoc and pass --vulkan_renderdoc_capture_all. 2016-02-21 12:44:16 -08:00
Ben Vanik
b3faba50a3 Pushing constants. 2016-02-21 10:38:58 -08:00
Ben Vanik
ff373a83a4 Private->Function variables, fragment output, geometry shader tweaks. 2016-02-20 20:44:11 -08:00
Ben Vanik
cd02cdfc70 Making memory API less error prone; fixes buffer/constant uploads. 2016-02-20 19:19:29 -08:00
Ben Vanik
b5a0c4715b Porting GL4 geometry shaders. Likely not working. 2016-02-20 16:35:21 -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
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
ecd257b34c Fix headers include guards. 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