Tags: electronicarts/gigi
Tags
Merge pull request #31 from electronicarts/awolfe/InternalMain_20250411 Latest from internal main * Slang updated from 2024.1.22 to 2025.6.3 * Added slang processing options to help debug slang shaders * Renderdoc updated to 1.37, and renderdoc captures are on by default now that renderdoc doesn't don't block raytracing * uint64/int64 support for resource views to make 64 bit atomics more convinient (Martin M) * Editor fix (and file fix) for node connection bugs (Jan) * Subgraph fix: using the same subgraph multiple times, overriding variables with different constants in each works now. * Viewer: -warpadapter to use the warp adapter (useful for determinism across devices/drivers/etc. Doesn't support all of DX12 though) * Viewer: Python function to set camera FOV * Viewer: Easier interface to reset individual variables to default, and see if they are system variables or not etc. (Martin M) * Compiler / subgraphs: Fixed a bug with setvars in subgraphs not having their involved variables renamed to the inlined variable names. * Viewer: Profiler can accumulate frames. Nicer to understand perf when you can E.g. average over 1000 frames with different settings.
--- Merge from internal --- compiler * Output pins going to multiple input pins will make a copy for read access when needed now, and will warn of a possible race condition if multiple output paths lead to writes. viewer * Fix crash when loading an obj file without uvs * Better error messages when viewer can't make descriptor tables. * The jittered camera was jittering within plus or minus a quarter of a pixel instead of a half * better error reported when vertex shader inputs don't match up with vertex buffer definition. * Copying buffer to buffer is allowed between different structs if they have the same field types in the same order.
* Added Techniques/DataViewers/ModelViewer.gg and TextureViewer.gg to… … be quick viewers that also let you modify the data in a compute shader and then resave. In the future when you drag a model or texture onto the gigi viewer it will open these graphs by default to allow quick viewing of asset files. * Updated Agility SDK to 1.614.1 * Added build number to displayed version number * DX12 code gen fixes and improvements * -nopixcapture viewer option to disable pix capturing. Currently needed when using AMD GPU Reshape. * fixed a problem with RT acceleration structure scratch buffer not being large enough sometimes (viewer and DX12 codegen) * Fixed tangent calculations in the FBX loader path in the viewer.
* Using multiple ray gen nodes in a graph with different root signatu… …res is ok now. * It used to throw all ray tracing shaders into the shader table which made problems when there were incompatible root signatures inolved. * Now it only includes the shaders actually used by the ray gen node when making a shader table for that node. * You can use multiple miss shaders in a ray gen node now. * The lookup function for translating miss shader names to indices had broken logic. * @IvarPD * Updated OpenFBX and improved the FBX importer to acknowledge multiple materials in a single mesh. * If you run the viewer with "-renderdoc", a renderdoc capture button shows up. Disabled by default because this disables raytracing.
Shader asserts are in. Thanks Alexey Gladkov aka @Rewlion! Example: /*$(Assert: i < 5, "i was %f", i)*/ See UserDocumentation/GigiShaders_Documentation for more info. Functionality: * Set Variables have support for min and max * Subgraph loops can use CONSTANT variables for loop count. Dynamic variable support coming later. Compiler: * Better error messaging when subgraphs fail to inline. Says what the problem is. * Large graphs were having slow downs due to ReferenceFixupVisitor scanning the graph too deeply too often. A visited flag cleaned this up. Viewer: * Variables can have a UI scope to group them better in the UI * Conditional Copy Resource nodes now say whether their condition is true or false in the render graph window. * Better protection against using bad formats for depth textures * Better explanation when a texture can't be created (like, when it has an invalid size specified) * New snapshots interface to be able to save and load cameras, variable values, imported resource settings, or what window is being viewed. Generalizes a couple pre-existing features that needed more functionality.
PreviousNext