Commit Graph

97 Commits

Author SHA1 Message Date
DrChat
a3cf3a7694 [SPIR-V] Don't bother setting up vertex bindings if they aren't used. 2018-02-19 12:45:17 -06:00
DrChat
be687f5f27 [SPIR-V] Size the vertex bindings input based on actual number of bindings 2018-02-19 11:28:22 -06:00
DrChat
103ecbab7e [SPIR-V] 32 [u]int formats 2018-02-19 11:01:45 -06:00
DrChat
ff6d306728 [SPIR-V] Handle 16/16, 16/16/16/16 (float and norm) and 32f 2018-02-19 08:11:31 -06:00
DrChat
6fb176528b [SPIR-V] Don't group together unimplemented fetches 2018-02-19 00:23:15 -06:00
DrChat
081c142c4c [SPIR-V] Convert 8888, 32, 2/10/10/10 2018-02-19 00:14:38 -06:00
DrChat
fe9c83c15b [Vulkan] First working version of dynamic vfetch! 2018-02-18 23:22:02 -06:00
DrChat
f3f1a7fe42 [SPIR-V] Update glslang
WIP new vertex fetching
2018-02-18 20:13:38 -06:00
Dr. Chat
d512d4127f [SPIR-V] Fix the build. 2018-01-01 15:00:37 -06:00
DrChat
26f3100c23 [SPIR-V] Don't normalize denormalized 10/11/11 formats if not requested 2017-12-28 16:20:35 -06:00
DrChat
516c113423 [SPIR-V] Fix tfetches with an offset 2017-12-22 23:15:18 -06:00
DrChat
20099e51af Formatting 2017-12-22 22:24:51 -06:00
DrChat
366e8b1b6a [SPIR-V] Fix invalid 1D texture offsets 2017-12-22 22:24:19 -06:00
DrChat
fb89973266 [SPIR-V] Add support for loops 2017-12-22 22:23:28 -06:00
DrChat
697eccf23e [SPIR-V] Fix incorrect FOrdEqual result type 2017-12-21 15:12:02 -06:00
DrChat
6b4e8ee19e [SPIR-V] New flag: spv_disasm - Generate disassembly for spir-v shaders (disabled by default) 2017-12-17 13:12:10 -06:00
DrChat
02e37be4e5 Merge branch 'linux' of git://github.com/dougvj/xenia into linux
# Conflicts:
#	.travis.yml
2017-12-14 19:20:02 -06:00
DrChat
a7b6d91a2b [SPIR-V] (untested) Implementation of getGradients 2017-10-01 18:59:54 -05:00
gibbed
42533d39eb Vulkan: Assume all 1D texture sampling is actually sampling a 2D texture. 2017-08-08 16:35:19 -05:00
DrChat
cfc65a0197 GPU: Rewrite/rephrase some confusing shader translator code 2017-08-07 21:08:01 -05:00
Doug Johnson
bb0ee0e4a3 Change glsl lang call that supports scalar rather than vector 2017-07-11 11:47:24 -06:00
Doug Johnson
be3615b15b Add missing include <vector> 2017-07-11 11:47:24 -06:00
Dr. Chat
581875b339 SPIR-V: Load operands after handling predicated blocks. 2017-03-14 21:41:50 -05:00
Dr. Chat
44e7c3712a Vulkan: Fix register constants on AMD 2017-03-14 00:50:49 -05:00
Dr. Chat
3046df2415 SPIR-V: Go to next instr if cexece did not execute and is not the last instruction. 2017-03-07 12:25:36 -06:00
Dr. Chat
b661aa17f9 SPIR-V: Handle conditional exece CF instructions 2017-03-06 15:39:40 -06:00
Dr. Chat
75b34b83a6 Vulkan: Alias all input textures on the same binding 2017-02-13 13:35:53 -06:00
DrChat
1c48b93ffd Vulkan: Fix misplaced break statements 2017-02-11 21:53:52 -06:00
Vlad Ivanov
c74b84a18b gpu: spirv_shader_translator: fix a number of missing VertexFormat cases 2017-02-07 20:26:08 +03:00
Vlad Ivanov
091c196fc7 gpu: spirv_shader_translator: add missing cfloat include 2017-02-07 20:26:08 +03:00
Dr. Chat
ca54f9f212 SPIR-V: Whoops, flip the store operands around correctly 2016-11-22 21:36:39 -06:00
Dan Weatherford
6f6e638f2f [vulkan] Point list rendering improvements
Implement register and vertex-shader-written point size. Fix point size
computation in geometry shader (convert pixel size to NDC scale using
viewport size). Fix point sprite coordinate generation.
2016-11-12 18:03:03 -06:00
Dr. Chat
02a0d11326 SPIR-V: GetWeights2D/1D as well as (possibly) proper fetch offsets 2016-11-11 17:52:15 -06:00
Dr. Chat
9457c63a64 SPIR-V: Handle conversion of integer vertex input 2016-09-07 11:13:53 -05:00
Dr. Chat
1757411aa8 Label blocks following jump statements for now. 2016-09-05 22:19:56 -05:00
Dr. Chat
300d1c57ba SPIR-V: Rewrite basic control-flow to use a while loop paired with a switch statement 2016-09-05 16:57:02 -05:00
Dr. Chat
cd5d3fae9c Whoops - fix a few compilation errors 2016-07-29 13:42:56 -05:00
Dr. Chat
a547c79b51 SPIR-V: Use gl_VertexIndex rather than gl_VertexID
Rewrite bits of LoadFromOperand/StoreToResult
2016-07-29 11:28:19 -05:00
Dr. Chat
9e646085f0 SPIR-V: Rudimentary support of tfetch offsets, fix scalar operand loads 2016-07-24 10:16:44 -05:00
Dr. Chat
abdf071c7d SPIR-V: Smear one-component scalars 2016-06-28 11:43:03 -05:00
Dr. Chat
14a6fd838a SPIR-V: Fix a few improper usages of pointers
Change StoreToResult conversion
2016-06-28 09:18:08 -05:00
Dr. Chat
75908a9865 SPIR-V: Fix a couple of errors in translation 2016-06-27 11:08:45 -05:00
Dr. Chat
036df2ce12 SPIR-V: Remove GenericPointer capability requirement 2016-06-24 07:48:02 -05:00
Dr. Chat
076c73be9a SPIR-V: GetTextureWeights and Cube op 2016-06-22 19:34:05 -05:00
Dr. Chat
af870999fa SPIR-V: Clear shader interface IDs between invocations. 2016-06-13 18:15:59 -05:00
Dr. Chat
5937e603d7 SPIR-V: Fix vec4 Dst 2016-06-13 15:29:07 -05:00
Dr. Chat
7ef7cc39f5 SPIR-V: Declare all inputs/outputs in OpEntryPoint 2016-06-12 11:18:00 -05:00
Dr. Chat
d1b4d61b52 SPIR-V: Use the register count from the program control register
Workaround for broken OpBitFieldUExtract on NVIDIA drivers
kRcpc/kRcpf/kRsqc/kRsqf
Fix broken ps_ usage
2016-05-22 20:01:42 -05:00
Dr. Chat
2bb52ef86b SPIR-V: WIP shader compiler / optimizations / alpha test implementation 2016-05-15 12:01:38 -05:00
Dr. Chat
9b2e2a7275 SPIR-V: Hack in OpSelectionMerge as hints to NVidia's shader compiler (TODO: Make a Shader Compiler) 2016-04-13 23:17:03 -05:00