Austin Eng
1f6141e38a
Roll shaderc to support 4 draw buffers
2017-08-07 18:51:48 -04:00
Austin Eng
fb4265387c
Add SetBlendColor command
2017-08-07 18:51:48 -04:00
Austin Eng
476e5cbe30
Metal: Apply BlendState to RenderPipeline
2017-08-07 18:51:48 -04:00
Austin Eng
4820dbd7ee
D3D12: Apply blend state to render pipeline
2017-08-07 18:51:48 -04:00
Austin Eng
31fc0d234c
D3D12 & Metal: Blend state conversions
2017-08-07 18:51:48 -04:00
Austin Eng
94bebe517d
Add BlendState to NXT API
2017-08-07 18:51:48 -04:00
Kai Ninomiya
fc9775f7df
.gitignore + disable in-source builds ( #98 )
2017-08-03 11:45:12 -07:00
Ben Constable
2c05f4d8fc
Remove comment per code review feedback
2017-08-01 18:45:33 -04:00
Ben Constable
ea507ddf77
Code review feedback
2017-08-01 18:45:33 -04:00
Ben Constable
d54a5239a6
Fix missing depth stencil format and reference value setting
2017-08-01 18:45:33 -04:00
Ben Constable
a015ad3399
Initial changes for depth stencil, some tests not passing
2017-08-01 18:45:33 -04:00
Kai Ninomiya
4526368263
Remove outdated backbuffer hack + reduce GL version to 4.4 ( #100 )
2017-07-31 11:25:06 -07:00
Corentin Wallez
4122b2e3f9
Metal: Implement push constants
2017-07-28 17:11:07 -04:00
Corentin Wallez
30beb65a7b
Metal: Make the MSL indices match the ones of PipelineLayout
...
Previously didn't tell SPIRV-Cross at which MSL resource indices the
different SPIRV binding should be, and were lucky that it's giving
indices in increasing order matched the PipelineLayout in all our
samples.
Fix this by making SPIRV->MSL compilation depend on the PipelineLayout
so we can tell SPIRV-Cross which binding goes where.
We should do the same for vertex attributes eventually as they are
hardcoded to start at kMaxBindingsPerGroup currently.
Also a couple unrelated cleanups (unused function, usage of
IterateBitSet).
2017-07-28 17:11:07 -04:00
Kai Ninomiya
c16a67ae52
Swap chains, part 2 ( #94 )
2017-07-27 18:30:57 -07:00
Corentin Wallez
3818e18c5c
Forward unhandled builder errors to the device
2017-07-27 21:08:12 -04:00
Austin Eng
ba6a36c974
D3D12: Enable better live object reporting and cleanup resources on device destruction
2017-07-27 15:15:28 -04:00
Austin Eng
439d963ccd
Point,Line,Triangle -> PointList,LineList,TriangleList
2017-07-27 10:19:30 -04:00
Austin Eng
c2def461a1
Add input primitive topology to D3D12 and Metal pipeline states
2017-07-27 10:19:30 -04:00
Austin Eng
2a0792b5f0
Add RenderPipeline validation tests
2017-07-27 10:19:30 -04:00
Austin Eng
d568bdad99
Add primitive topology tests
2017-07-27 10:19:30 -04:00
Austin Eng
d81fd82bde
Implement primitive topology in OpenGL, Metal, and D3D12 backends
2017-07-27 10:19:30 -04:00
Austin Eng
3e9e315636
Add primitive topology to NXT API
2017-07-27 10:19:30 -04:00
Austin Eng
c275f7cf9f
end2end: Add depth stencil state tests
2017-07-25 10:16:08 -04:00
Austin Eng
0c50889bfa
Fix HelloDepthStencil example
2017-07-25 10:16:08 -04:00
Austin Eng
ccf1fa2330
Remove DepthTestEnabled() and fix depth writes for depth function Always
2017-07-25 10:16:08 -04:00
Austin Eng
cc8d2d529d
D3D12: Enabled copy tests with non-aligned buffer offsets
2017-07-25 09:40:54 -04:00
Austin Eng
04499576d9
D3D12: Add copy splitter unit tests
2017-07-25 09:40:54 -04:00
Austin Eng
0506138567
D3D12: Add copy splitting for texture copies not 512-byte aligned
2017-07-25 09:40:54 -04:00
Kai Ninomiya
78c8b837ea
clang/gcc: enable a bunch more warnings ( #91 )
...
* clang/gcc: enable -pedantic warnings
* suppress a GCC-specific warning in stb_image
* And some clang-specific warnings
* -Wconversion (clang) -Wold-style-cast (clang+gcc)
and fix a few warnings that show up with these (and a few more with
-Wconversion on gcc, even though that's not enabled by default)
* bunch more warnings
* fixes
* remove merge error
2017-07-21 17:00:22 -07:00
Kai Ninomiya
159bade5f5
x_DISABLED -> DISABLED_x
2017-07-20 16:33:02 -04:00
Kai Ninomiya
d9af452ceb
refactorign -> refactoring
2017-07-20 16:33:02 -04:00
Corentin Wallez
a18200e6af
unittests: Add tests for push constants
2017-07-20 16:33:02 -04:00
Corentin Wallez
86b2894103
ShaderModule: Validate the push_constant block size
2017-07-20 16:33:02 -04:00
Corentin Wallez
c8377da79b
Validate SetPushConstants is done inside subpass and compute passes
2017-07-20 16:33:02 -04:00
Corentin Wallez
be985c1aab
Add nxt::ShaderStageBit::None
2017-07-20 16:33:02 -04:00
Corentin Wallez
240343f9db
Add NXT_GENERATED_FLAGS using set_property
2017-07-20 16:33:02 -04:00
Corentin Wallez
2dfea9961a
ValidationTest: Add helper to create a dummy renderpass
2017-07-20 16:33:02 -04:00
Austin Eng
b343e8d920
Add texture copy tests
2017-07-20 13:07:36 -04:00
Austin Eng
e5bd3e0ece
Add Texture expectation macro and mip level parameter
2017-07-20 13:07:36 -04:00
Austin Eng
1b8c64d3e2
Print small buffers on test expectation failure
2017-07-20 13:07:36 -04:00
Austin Eng
4234c39a09
Add output string streams to NXT test expectation helpers
2017-07-20 13:07:36 -04:00
Kai Ninomiya
59dc03f101
Correctly configure NXT_ENABLE_ASSERTS on multiconfiguration generators ( #88 )
...
And also set a default build type for single-configuration generators
2017-07-20 07:28:00 -07:00
Kai Ninomiya
35bf424035
Swap chains, part 1 ( #87 )
...
Adds the swap chain interfaces to the API without changing the behavior
of anything else. This includes the C APIs for applications to provide
swap chain implementations. Also adds stub implementations on every
backend.
2017-07-19 15:41:17 -07:00
Corentin Wallez
1e66ab93fe
end2end: Add BufferSetSubData tests
...
The test doing many small SetSubData freezes the Metal driver on a
MTLBuffer allocation. This is because we don't use a ringbuffer for
SetSubData and instead create one small upload buffer per call.
The same test is skipped on D3D12 as it is bound to have the same issue.
Also adds comments that were forgotten before every MapReadAsync test.
2017-07-18 17:24:54 -04:00
Corentin Wallez
e1f16a25bf
NXTTest: add other Is<Backend> methods
2017-07-18 17:24:54 -04:00
Austin Eng
3835edde10
Add validation for buffer offset
2017-07-18 16:03:51 -04:00
Corentin Wallez
8668fbacdd
end2end: Add BufferMapReadAsync tests
2017-07-18 11:06:54 -04:00
Corentin Wallez
ea1241af80
D3D12: Handle MapReadAsync offset
2017-07-18 11:06:54 -04:00
Corentin Wallez
d8e1a25cbc
Metal: Wait for GPU on device destruction
2017-07-18 11:06:54 -04:00