Commit graph

801 commits

Author SHA1 Message Date
Samuliak
f08d3a7517 support multiple render targets & fix: incorrect texture name 2024-09-28 19:03:01 -04:00
Samuliak
21029e895a put render pipeline cache into a separate file 2024-09-28 19:03:01 -04:00
Samuliak
bab9542020 implement pipeline cache 2024-09-28 19:03:01 -04:00
Isaac Marovitz
f2490347af Use return value of BeginRenderPass 2024-09-28 19:03:01 -04:00
Isaac Marovitz
684e025d61 Cleanup 2024-09-28 19:03:01 -04:00
Samuliak
7983bc062b remove outdated comment 2024-09-28 19:03:01 -04:00
Isaac Marovitz
fe2337d61a Fix table 2024-09-28 19:03:01 -04:00
Isaac Marovitz
e72c69cf19 Dont hardcode Vertex Format 2024-09-28 19:03:01 -04:00
Samuliak
9ecaacc977 style 2024-09-28 19:03:01 -04:00
Samuliak
d04e24c382 bring back inline updates for some state 2024-09-28 19:03:01 -04:00
Samuliak
bb425bf640 fix: don't rebind pipeline unless dirty 2024-09-28 19:03:01 -04:00
Samuliak
0444e43654 don't bind null vertex buffers 2024-09-28 19:03:01 -04:00
Samuliak
ccce85e1bb mark state as dirty 2024-09-28 19:03:01 -04:00
Samuliak
348a37a355 add todo notice 2024-09-28 19:03:01 -04:00
Samuliak
918e1c16b7 don't end render pass when not neccessary 2024-09-28 19:03:01 -04:00
Isaac Marovitz
2abadbd649 Remove rebase garbage 2024-09-28 19:03:01 -04:00
Isaac Marovitz
14c58f62eb Be smart and use a bitmask not a list 2024-09-28 19:03:01 -04:00
Isaac Marovitz
102c87e623 Cleanup 2024-09-28 19:03:01 -04:00
Isaac Marovitz
a7e5c26011 Fix Vertex Attributes in Wonder & Kirby 2024-09-28 19:03:01 -04:00
Isaac Marovitz
20e1d1cd33 Implement SetDepthClamp 2024-09-28 19:03:01 -04:00
Isaac Marovitz
f98d9bae24 Implement SetBlendState 2024-09-28 19:03:01 -04:00
Isaac Marovitz
1db8decd12 Be consistent with things that lack support 2024-09-28 19:03:01 -04:00
Isaac Marovitz
71ccb7eaef Ignore SetDepthMode 2024-09-28 19:03:01 -04:00
Isaac Marovitz
e6c2e5873c Make Texture Volatile on dispose 2024-09-28 19:03:01 -04:00
Isaac Marovitz
c97e7d621b Format 2024-09-28 19:03:01 -04:00
Isaac Marovitz
45b533b23b Fix present 2024-09-28 19:03:01 -04:00
Isaac Marovitz
fbe275204b Fix Depth/Stencil attachments 2024-09-28 19:03:01 -04:00
Isaac Marovitz
738227519d Break everything :D 2024-09-28 19:03:01 -04:00
Isaac Marovitz
de86f20b94 Clamp ScissorRect 2024-09-28 19:03:01 -04:00
Isaac Marovitz
fcc7cb55df Set DepthAttachmentPixelFormat 2024-09-28 19:03:01 -04:00
Isaac Marovitz
4e6abb0191 Set Depth Attachment Texture 2024-09-28 19:03:01 -04:00
Isaac Marovitz
35b0436a2b Clamp Viewport ZNear & ZFar 2024-09-28 19:03:01 -04:00
Samuliak
e99f9e2af0 format 2024-09-28 19:03:01 -04:00
Samuliak
bc3fd22f05 use 0 instead of undef 2024-09-28 19:03:01 -04:00
Samuliak
fefdabf257 fix: pass array index as an additional argument to sample 2024-09-28 19:03:01 -04:00
Samuliak
73bb0712a8 don't declare samplers for separate textures 2024-09-28 19:03:01 -04:00
Samuliak
75781ba698 don't hardcode texture type 2024-09-28 19:03:01 -04:00
Samuliak
262452f586 offset storage buffer bindings by 15 2024-09-28 19:03:01 -04:00
Samuliak
f56117a5c7 fix: incorrect abs instruction 2024-09-28 19:03:01 -04:00
Samuliak
aff8fdb2f8 add: vertex and instance id arguments 2024-09-28 19:03:01 -04:00
Samuliak
3651e8ea32 determine type of buffer by its field types 2024-09-28 19:03:01 -04:00
Isaac Marovitz
2d609ad57b Rebase + Format 2024-09-28 19:03:01 -04:00
Samuliak
559122f591 use unknown texture usage 2024-09-28 19:03:01 -04:00
Samuliak
64005ba9ee don't hardcode render pipeline attachments 2024-09-28 19:03:01 -04:00
Samuliak
a11247b72d create GetSwizzle helper function 2024-09-28 19:03:01 -04:00
Samuliak
320c317113 add: textures and samplers as shader arguments & fix: issue with casting 2024-09-28 19:03:01 -04:00
Samuliak
6295153a28 support fragment coord as an input to a shader 2024-09-28 19:03:01 -04:00
Samuliak
e638172753 support texture views 2024-09-28 19:03:01 -04:00
Isaac Marovitz
32db6cc281 Format 2024-09-28 19:03:01 -04:00
Isaac Marovitz
722aa4e45d Rebase + GAL Changes 2024-09-28 19:03:01 -04:00
Isaac Marovitz
00b99770a2 Remove TODOs 2024-09-28 19:03:01 -04:00
Isaac Marovitz
df6821d023 Fix Scissor/Viewport state & Validation Error 2024-09-28 19:03:01 -04:00
Isaac Marovitz
17aa3c6d0f Require Argument Buffers Tier 2 2024-09-28 19:03:01 -04:00
Isaac Marovitz
5a320cca19 Buffer bindings in shader…
Will need to be reworked
2024-09-28 19:03:01 -04:00
Isaac Marovitz
192a84aa2d Bind Uniform & Storage Buffers 2024-09-28 19:03:01 -04:00
Isaac Marovitz
ebc53d7961 Fix buffer access syntax 2024-09-28 19:03:01 -04:00
Isaac Marovitz
4d063f80b8 Dispose pipeline before window 2024-09-28 19:03:01 -04:00
Isaac Marovitz
316fea1fa9 Set scissors & viewports 2024-09-28 19:03:01 -04:00
Isaac Marovitz
a9db9f5b27 Format 2024-09-28 19:03:01 -04:00
Isaac Marovitz
009f791879 Format 2024-09-28 19:03:01 -04:00
Isaac Marovitz
c0bb55cf5e Fix some crashes 2024-09-28 19:03:01 -04:00
Isaac Marovitz
54c8dabadc Fix Cubemap & Array Texture Creation 2024-09-28 19:03:01 -04:00
Isaac Marovitz
04ca284e14 Properly check for 3D 2024-09-28 19:03:01 -04:00
Isaac Marovitz
d58f79ae0f Fix swizzle for certain formats 2024-09-28 19:03:01 -04:00
Isaac Marovitz
cd7d62542a Blit at the end of the render 2024-09-28 19:03:01 -04:00
Isaac Marovitz
72209ba2a6 Load attachments 2024-09-28 19:03:01 -04:00
Isaac Marovitz
70ba3506b0 Cleanup Shader I/O 2024-09-28 19:03:01 -04:00
Isaac Marovitz
35cc208435 Fix fragment shader bindings 2024-09-28 19:03:01 -04:00
Isaac Marovitz
8dca53685a Fix VertexBuffers
Naive non-managed approach
2024-09-28 19:03:01 -04:00
Isaac Marovitz
e517cfeb8f Fix some shader gen problems… 2024-09-28 19:03:01 -04:00
Isaac Marovitz
4a30b58e0b Formatting 2024-09-28 19:03:01 -04:00
Isaac Marovitz
bdd9ede4fd Make TypeConversion failure an error 2024-09-28 19:03:01 -04:00
Isaac Marovitz
84a8edf675 Fix MSL Reinterpret Casts 2024-09-28 19:03:01 -04:00
Isaac Marovitz
e8a2637d46 Dont set Vertex Attributes for now 2024-09-28 19:03:01 -04:00
Isaac Marovitz
e4a14dd23a Remove capture code 2024-09-28 19:03:01 -04:00
Isaac Marovitz
ffb7423260 Bind Textures & Samplers 2024-09-28 19:03:01 -04:00
Isaac Marovitz
80340c98d3 Revise ISampler 2024-09-28 19:03:01 -04:00
Isaac Marovitz
b8c60e993a Try again 2024-09-28 19:03:01 -04:00
Isaac Marovitz
d88314424b Resolve warning 2024-09-28 19:03:01 -04:00
Isaac Marovitz
df8fca012f Formatting 2024-09-28 19:03:01 -04:00
Isaac Marovitz
3d897c4f9a FIx build 2024-09-28 19:03:01 -04:00
Isaac Marovitz
62bf395970 Fix some rebase errors 2024-09-28 19:03:01 -04:00
Isaac Marovitz
bb742f64c6 End Pass on Dispose 2024-09-28 19:03:01 -04:00
Isaac Marovitz
a669592651 Don’t change Render State if Vertex Function is Invalid 2024-09-28 19:03:01 -04:00
Isaac Marovitz
eb5fa2b546 “Report” Driver 2024-09-28 19:03:01 -04:00
Isaac Marovitz
8e99199e19 Adjust function signature 2024-09-28 19:03:01 -04:00
Isaac Marovitz
b439a52ac7 Get it building again 2024-09-28 19:03:01 -04:00
Isaac Marovitz
b9c4a23f22 Render Targets 2024-09-28 19:03:01 -04:00
Isaac Marovitz
64c95bd8d8 format 2024-09-28 19:03:01 -04:00
Isaac Marovitz
264742f085 Formatting 2024-09-28 19:03:01 -04:00
Isaac Marovitz
64d12e8d23 smh 2024-09-28 19:03:01 -04:00
Isaac Marovitz
a9e9819b33 Dont specify [[stage_in]] on fragment 2024-09-28 19:03:01 -04:00
Isaac Marovitz
a58d1cffe4 If one shader fails, whole program fails 2024-09-28 19:03:01 -04:00
Isaac Marovitz
511db833db Fix fragment shaders (and fuck everything up) 2024-09-28 19:03:01 -04:00
Isaac Marovitz
2890fc1069 Vertex buffer data 2024-09-28 19:03:01 -04:00
Isaac Marovitz
7f41e7dbd4 Dont be stupid 2024-09-28 19:03:01 -04:00
Isaac Marovitz
c58cc76b39 Dont set 0 attributes 2024-09-28 19:03:01 -04:00
Isaac Marovitz
8232ce7d72 Reset Descriptor instead of making a new object 2024-09-28 19:03:01 -04:00
Isaac Marovitz
db9de66437 Set Vertex Descriptor properly 2024-09-28 19:03:01 -04:00
Isaac Marovitz
5c9d1bd0da Start vertex descriptor work 2024-09-28 19:03:01 -04:00