* Fix D3D12 debug crash due to validation layers SDK bug
* Change LONG to FARPROC to be technically correct
* Make requested changes:
Move windows version checking to function in bgfx.cpp
Change windowsVersionIs to also use this technique
Use bgfx code style
Specify dwOSVersionInfoSize prior to calling rtlGetVersion
* Merge both functions into one
Use bx::dlsym instead of GetProcAddress directly
Fix major & minor comparison logic
* Fix win10 version comment
* Revert rendererCreate check back to Win 0x0602
* Clean up logic as per suggestion
* Fix D3D12 VBV reading size
When `stream.m_startVertex` is not 0 we target a position past the start of the buffer, so `BufferLocation + SizeInBytes` will be past the end of the buffer, which the debug layer will complaining about.
With this fix we're only creating a view for the part of the buffer we actually need to access.
* Reordered buffer size calculation.
---------
Co-authored-by: Бранимир Караџић <branimirkaradzic@gmail.com>
* Add support for remaining unsupported ASTC formats
Add new ASTC formats into pixelformats example and ninja scripts
Rebuild ASTC textures
* Update idl and generate
Move comma in pixelformats
Co-authored-by: Raziel Alphadios <raziely@gmail.com>
Suppose this is the draw call sequence in a frame:
- triangle strip
- touch (required to apply stencil changes for example)
- triangle list
Touch masks the change (as it's triangle list by default) by setting
changedFlags, but not primIndex. When the triangle list is processed,
the STATE_PT is already set to triangle list, so the test for
changedFlags is skipped and primIndex stays with triangle strip.
The fix detects the change in the STATE_PT and updates primIndex.