-
Notifications
You must be signed in to change notification settings - Fork 50
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
* Add set-setup similar to buffers for resource tables. Added API for creating a resource table set from shader. * Delete dead code and tidy up * Fix a few buffers * Add missing resource table in cmake. * Add instanced draw command for when you don't care about the base instance * Fix image layout transitions with TextureGenerateMipmaps. * Terrain changes Resolve pass needs to render all geometry again to properly calculate light, but uses Z equals to early out. Terrain tiles render with instancing. Terrain PSOs gets created during setup. * Move bicubic sampling method to util * Various terrain fixes Merged together terrain lighting code so it works the same for lowress fallback and virtual sample. Normals are calculated in the domain shader instead of relying on base mesh normals. Fix order of operations, page clear now happens after the prepass and the page status copy to readback. Removed the screen space resolve shader and passes. Added a bunch of extra markers to the terrain code so it's clearer what's going on when debugging. Failing to load biome textures reverts to using the system textures for albedo, normals and materials. * Refactor terrain biome setup API * Change testviewer to use Array instead of FixedArray for callbacks * Update system assets * Split terrain and vegetation settings to separate FBS interfaces * Update flatbufferinterface to create directories for path before compilation * Move TBN boilerplate to util.fxh * Change terrain prepass buffer to R16G16F * Add support for automatically detecting height maps in dx tex conversion job * Sample normal from height in resolve. Move terrain sampling to function to minimize shader code and repetition. * WIP: Allow for GPU upload size to grow New API requires getting the offset and buffer to pass to a future upload, since the buffer in question might be different between subsequent calls to upload. * Fixup for interlocked Remove the header reimplementation of interlocked in favor of a common header and per-platform implemnentation. Add AtomicInt, AtomicInt64 and AtomicPointer as types which disallow directly modifying or reading the value. * Allow for thread safe upload buffer allocation Utilize 64 bit atomics to keep the byte offset and buffer id in the same object. This allows for the allocating thread to always know for which buffer allocation attempts where made, such that the appropriate buffer can be returned. Remove bufferlock for UploadInternal, we should now treat the Upload buffer as being inherently threadsafe. Replace use of std::pair with Util::Pair. Reduce upload heap by half, but keep it big enough to fit at least an 8K BC7 texture. * Fix gcc interlocked compile issue * More build fixes * Grrr * Please be the last * Add interlocked for 64 bit ints in gccinterlocked * Fix mistake moving Decrement and Increment outside of namespace * Fix upload with alignment And fix uploads in terrain to use proper alignment. * Simplify aligned offset calculation for upload buffer * Minor terrain fixes * Fix lowres terrain to use the same space when calculating normals --------- Co-authored-by: Gustav Sterbrant <gustav.sterbrant@ttkgames.com>
- Loading branch information
1 parent
8df0661
commit 1a01840
Showing
66 changed files
with
2,034 additions
and
1,198 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.