Austin Eng
ae48c95306
Add IsAligned helper for values
2017-08-17 15:36:02 -04:00
Austin Eng
d37ec9af92
unittests: Test inheritance of vertex inputs between pipelines and no inheritance between subpasses
2017-08-15 19:40:10 -04:00
Kai Ninomiya
afa45a9176
Add tests for clears, render passes, framebuffers ( #107 )
...
* Add tests for clears, render passes, framebuffers
* Test load with a draw in it
2017-08-14 16:32:26 -07:00
Austin Eng
e69a2893b3
Add BlendState validation tests
2017-08-07 18:51:48 -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
439d963ccd
Point,Line,Triangle -> PointList,LineList,TriangleList
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
04499576d9
D3D12: Add copy splitter unit tests
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
2dfea9961a
ValidationTest: Add helper to create a dummy renderpass
2017-07-20 16:33:02 -04:00
Austin Eng
3835edde10
Add validation for buffer offset
2017-07-18 16:03:51 -04:00
Austin Eng
36d82645c3
Add row pitch validation tests
2017-07-17 17:16:45 -04:00
Austin Eng
5ed02ee648
update existing unit tests with proper row pitch
2017-07-17 17:16:45 -04:00
Austin Eng
972a1e59a7
Update tests and examples to follow copy row pitch alignment constraints
2017-07-17 17:16:45 -04:00
Austin Eng
c5f8e7ae77
Update usage of CopyBufferToTexture and CopyTextureToBuffer to include row pitch
2017-07-17 17:16:45 -04:00
Austin Eng
deba8a4ea6
Add value type Align tests
2017-07-17 17:16:45 -04:00
Austin Eng
8867e5d8df
Rename Align to AlignPtr
2017-07-17 17:16:45 -04:00
Corentin Wallez
e20c5ee9ff
Split Pipeline in Render and Compute, test part
2017-07-17 15:25:16 -04:00
Corentin Wallez
de4a3c4c3b
Fix framebuffer dimensions in InputStateTest
...
Also add validation that the framebuffer size matches its attachement
size and make a test for it.
2017-07-13 15:41:43 -04:00
Corentin Wallez
0f833f30ed
Enable warnings on Windows
2017-07-11 13:59:15 -04:00
Corentin Wallez
83e779d8f2
Fix all Windows warnings
2017-07-11 13:59:15 -04:00
Corentin Wallez
fd589f3919
Add an internal ASSERT macro
...
This macro has some advantages over the standard library one:
- It prints the place where the macro was triggered
- It "references" the condition even in Release to avoid warnings
- In release, if possible, it gives compiler hints
It is basically is stripped down version of the ASSERT macros I wrote
for the Daemon engine in src/common/Assert.h
This commit also removes the stray "backend" namespaces for common/
code.
2017-07-10 19:35:21 -04:00
Corentin Wallez
98c90d4faa
Fix clang/GCC warnings
2017-07-10 19:35:21 -04:00
Kai Ninomiya
794d4faece
null backend: fix resource usage after cmdbuf transition ( #63 )
...
and test it.
2017-07-07 11:47:40 -07:00
Corentin Wallez
fffe6dfa16
Split backend/common in backend/ and common/
...
This directory used to contain both the state tracking code for the
backends, and the common utilities that could be used both by the
backends and the rest of the code. Things are now:
- src/common is utility code for the whole repo
- src/backend contains libNXT's code
- src/utils is utility code that we don't want in libNXT
This commit also changes all includes to use global paths from src/
bacause it had to touch a bunch of #include statements anyway.
2017-07-06 17:54:52 -04:00
Corentin Wallez
59d55dc3ac
unittests: Add validation tests for InputState.
2017-07-06 11:34:31 -04:00
Corentin Wallez
e9d347e89e
Add T->B copies.
...
This implements T->B copies on the Metal backend only and while it adds
validation tests, end2end tests will be done in a follow-up commit.
2017-06-27 13:25:42 -04:00
Corentin Wallez
492cbe4a43
ValidationTests: add B->T copy tests
2017-06-27 13:25:42 -04:00
Corentin Wallez
4b4922cdce
Allow empty B->T copies
...
This adds a test that empty copies are valid for B->B copies too. Tests
for B->T will come in a follow up commit.
2017-06-27 13:25:42 -04:00
Corentin Wallez
702186e169
Add restrictions on usages allowed with MapRead/Write
2017-06-22 09:56:30 -07:00
Austin Eng
e480a0724c
add test for SerialQueue::FirstSerial
2017-06-19 17:32:26 -04:00
Corentin Wallez
38246eb51c
Introduce SerialQueue to track in flight resources
2017-06-15 15:37:48 -07:00
Corentin Wallez
dbb5729e64
Add Device::Tick for periodic work
2017-06-15 13:27:50 -07:00
Austin Eng
39c901d3dc
Change usage requirements for Buffer::SetSubData to require TransferDst
...
instead of MapWrite bit
2017-06-14 13:53:52 -04:00
Corentin Wallez
5c92537418
Add validation tests for B2B commands
2017-06-13 13:15:30 -07:00
Corentin Wallez
367cb3515c
Fix MapRead error callback being called with a valid pointer
...
This happened when a request resulted in an error while the buffer was
already mapped. Adds a test that catches the error.
2017-06-13 08:30:01 -07:00
Corentin Wallez
68358b5c23
Add Buffer::MapReadAsync validation tests.
...
This also expands the Buffer validation tests to cover more creation
code paths and SetSubData. It also introduces a mechanism for
ValidationTests to check for device errors.
2017-06-13 08:30:01 -07:00
Corentin Wallez
eca89c2989
WireTests for buffer read mapping
2017-06-13 08:30:01 -07:00
Kai Ninomiya
613eee30c3
Add validation for some null arguments and dangling render passes
...
And add tests for both
2017-06-09 12:11:06 -07:00
Corentin Wallez
4efaf32d1b
Don't check for vertex buffers in dispatch aspects
...
Recently started causing a crash because we stopped creating an empty
InputState for compute pipelines
2017-06-06 10:03:46 -07:00
Corentin Wallez
181e22b482
Rename validation tests to end in Tests
2017-06-06 10:03:46 -07:00
Austin Eng
58c76b3fe4
Simplify PersistentPipelineState and application of stencil states. Fix
...
stencil mask usage. D3D12 does not support separate front/back masks.
All APIs support separate read/write masks.
2017-06-02 12:13:39 -07:00
Austin Eng
00176858b5
Add DepthStencilState validation unit tests
2017-06-02 12:13:39 -07:00
Corentin Wallez
7815d78044
Fix RefCountedTest not initializing deleted.
2017-05-30 10:48:32 -07:00
Corentin Wallez
5fbdff6888
Add ValidationTest and an example validation test.
...
Validation tests are tests of the backend state-tracking and validation
code that don't require a GPU as they are running on the null backend.
This commit adds a very simple (and almost useless) BufferValidationTest
as an example of a validation test.
2017-05-30 10:40:43 -07:00
Corentin Wallez
230daf56ad
Misc, noop cleanups
2017-05-30 10:40:43 -07:00