* fixed: multiple BGFX_TEXTURE_MSAA_SAMPLE attachments could not be present in a framebuffer at once (sample locations were not fixed)
I've just set the sample location as always fixed for now, although technically this can be false if only 1 msaa texture attachment is present
* fixed: framebuffer with a resolved msaa AND a sample msaa at the same time would result in an invalid framebuffer
it would try to also resolve the sample-msaa texture at the same, leading to an invalid target type
* fixed: depth attachments could not be sample-msaa
this is valid, they don't resolving
* fixed: shader error sampking msaa textures in gl
parameter duplication on texelFetch(sampler2DMS,*) led to failed shaders
* 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
* Allow simultaneous X11 and Wayland support
* Add NativeWindowHandleType
* Set default value for g_platformData.type
* Use g_platformData.type to check for a native Wayland window
* Stub getNativeWindowHandleType on platform where Wayland is not an option
* Implement getNativeWindowHandleType for GLFW
* Add getNativeWindowHandleType to the remaining C++ examples
* Add getNativeWindowHandleType to the C example
* 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>
* Add 'frameNumber' to Frame struct
Previously, the frame number returned from bgfx::frame() was tracked separately in the Context. Now,
we store that information in the Frame. This will allow us to attach the frame number to ViewStats.
* Add frame number to ViewStats
When ViewStats are enabled, we tag each timer query with the current frame number, then include
that information in the final results. In this way, clients can correlate specific work that they
submitted to specific GPU timing information.
NOTE: Some backends not implemented, yet. They will always have 0 for frame number.
The ones which are implemented are:
* OpenGL
* Vulkan
* D3D 9,11,12
* Noop
* Add indirect draw with indirect count (BGFX_CAPS_DRAW_INDIRECT_COUNT)
* Update bindings
* VK: Add support for BGFX_CAPS_DRAW_INDIRECT_COUNT
* D3D12: Add support for BGFX_CAPS_DRAW_INDIRECT_COUNT
* GL: Add support for BGFX_CAPS_DRAW_INDIRECT_COUNT
* 48-drawindirect: Use BGFX_CAPS_DRAW_INDIRECT_COUNT if available
* 48-drawindirect: Update shaders