8000 Releases · electronicarts/gigi · GitHub
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

Releases: electronicarts/gigi

v0.991.2

12 May 16:44
c1ec1e1
Compare
Choose a tag to compare

Viewer Crash Fix:
This fixes a crash when viewing slices of 2d texture arrays.
The logic was written such that it worked correctly for 3d volume textures, but would read outside of valid memory for 2d texture arrays (including cube maps)

v0.991.1

16 Apr 17:01
07db465
Compare
Choose a tag to compare
  1. Fixes shader file copies not working in subgraphs.
  2. Viewer shows textures with clamp instead of repeat.
  3. Adds renderdoc.dll to binaries and installer (Issue #32)

v0.991.0

11 Apr 22:37
d6602f8
Compare
Choose a tag to compare

Viewer:

  • Disable VRS when not supported (PR#30, Kyle Bostelmann @bostelk)
  • Easier interface to reset individual variables to default, and see if they are system variables or not etc (Martin Mittrin)
  • Renderdoc updated to 1.37 and renderdoc captures are allowed by default now that renderdoc doesn't block ray tracing initialization.
  • Run with -warpadapter to run the viewer using the warp adapter (cpu software rendered). Useful for determinism across platforms/drivers/etc, but doesn't support all of DX12.
  • Python function added to set camera FOV. Host.SetCameraFOV(fov)
  • Profiler can accumulate frames. Nicer to understand perf when you can E.g. average over 1000 frames with different settings.

Editor:

  • Fixed some problems with node connections getting screwed up in the json. Also fixes affected files on open. (PR#29, Jan Werbrouck @Jan300100)

Compiler

  • Uint64 / Int64 types added for resource views to make 64 bit atomics easier (Martin Mittring)
  • Slang updated from 2024.1.22 to 2025.6.3
  • Several slang processing options are available in the editor now to help debug slang shaders
  • Using the same subgraph multiple times, and overriding variables with different constants wouldn't work, but now does.
  • Fixed a bug with setvars in subgraphs not having their involved variables renamed to the inlined variable names.

v0.99.8

06 Mar 19:40
fd4315a
Compare
Choose a tag to compare

A new build with lots of changes from actual users of Gigi. Thank you for your help, everyone!

Ivar Jönsson:

  • Editor: Added group nodes
  • Editor: Added a search bar to nodes list and made it into a scrollable window.
  • Editor: Added a search bar to all data record windows
  • Editor: Added color customization to nodes
  • Updated DXC
  • Added formats: BGRA8, RG16_Uint and RG32_Uint
  • DX12 viewer & code gen: changed shader compiler interfaced, and added more options, like warnings as errors.

Jan Werbrouck:

  • replace bunny.obj with a version that has better UVs
  • Viewer: Generate normals for obj files that don't have normals.
  • Viewer: fix crash when mips is out of bounds
  • Model Viewer: Add RemapRanges toggle to visualise negative normals/tangents
  • editor bug: shader edit button didn't work if filename missing file extension

William Donnelly:

  • Viewer: fix crash when viewing a slice of a 3d texture with z greater than zero and clicking copy to clipboard.

Martin Mittring:

  • Made camera unable to flip over backwards.

Christian Deiss:

  • Added UserDocumentation/DebuggingGigiWithPix to explain how to do pix captures in Gigi

jgpd:

  • Viewer bug: system variables for jittered camera hooked up to non jittered camera due to copy/paste.

Gabriel Kannenberg:

  • investigated problem with model viewer tangents. Turns out bunny obj file was bad, so no changes needed. Bunny model was then replaced by Jan Webrouck.

Also:

  • Viewer: report an error if pix capture fails
  • Viewer: Fix error when chaining indirect pins together sometimes
  • Viewer: added "-logdebuglayer" command line to turn this on by default when launching.
  • Viewer: adde "-compileshadersfordebug" command line to turn this on by default when launching.

v0.99.7

10 Feb 22:15
Compare
Choose a tag to compare

Editor:

  • Fix for the editor freezing: #11

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.

Browser:

  • Make log hidden by default to see more search results.

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.

v0.99.6

24 Jan 23:31
Compare
Choose a tag to compare

GigiBrowser:

Viewer:

  • Mouse region radius shows average pixel value of a region with a definable radius
  • selected pixel or region is highlighted
  • BC4 and BC5 save / load / use / view to go with BC6 and BC7 previously
  • Better Errors when compute shader node can't initialize
  • drag and drop .ply files to view them. Assumes first 3 elements are XYZ and renders them as points.
  • Drag and drop a model onto viewer now has a "PlasticShaded" mode to see a model more naturally (thanks Patrick Anderson!)

Python Interface:

  • save images. 2d, 2darray, 3d, cube maps. With or without mips. variety of formats: png, bc4, bc5, bc6, bc7, exr, hdr, csv, binary.
  • need to set up a readback, but then can call these functions. To set up readback call host functions: SetWantReadback, RunTechnique, WaitOnGPU.

Editor:

  • Drag and drop .gg files to open them
  • Generate code relative to .gg file, not GigiEdit.exe

Bug Fixes:

  • Copying two buffers of the same size would fail if one was padded differently due to usage flags
  • mouse wheel to scroll window no longer changes which pixel is selected
  • setting an imported resource filename to empty string would try to use that as a relative path and error on not being able to load it
  • sanitize struct references - came up as a problem with being unable to find structs used in subgraphs.
  • fix build error due to missing winpix dll
  • fix a crash when loading an obj that didn't have normals

DX12 Code Generator:

  • more help for imported resources setup, and a primary output to automatically copy to the render target.
  • support for custom gigi string replacement tokens, with values specified in editor. Used for CopyrightHeader.
  • copy resource node wasn't generating perf markers.

DX12 Unit Tests:

  • make it easier to run a subset of the tests
  • fixed bug with it not reporting all test results sometimes

v0.99.5

19 Dec 17:47
Compare
Choose a tag to compare

Big refactor of texture loading and saving:

  • 2D texture arrays, and 3d textures can be saved and loaded, with or without mips.
  • In a variety of formats, including BC6 / BC7 (dds) and raw binary.

Drag and Drop Images and Models Onto the Viewer!

  • it opens images and models in an appropriate minimal render graph for them which allows you to view the assets, do analysis, or change the no-op compute shaders to modify the asset, and then save out the results.
  • The model viewer by default shows the normals of a mesh, but you can change what is being viewed using the drop down. Only FBX and OBJ are supported right now.
  • This should be helpful for seeing what is in a file, particularly in model files, or dds fles, which are hard to see inside otherwise.

@IvarPD:

  • Editor UI improvemens
  • more camera variable access from shaders
  • globally coherent flag on UAVs in shader resource declarations in editor

Adam Badke:

  • Resource destruction crash fix (Yay!)
  • shader names now show up in debuggers instead of "hlsl.hlsl"
  • Added command line option to viewer to compile shaders with debug info
  • Updated a couple lines in the tutorial

Breaking Changes:

  • Python function Host.SetWantReadback used to take array and mip index. Now those parameters are on Host.Readback instead.
  • The interface for loading a binary texture in the viewer has changed, and it doesn't automatically update to the new fields.
  • Python functions for setting imported binary texture parameters changed too.

Other:

  • WinPixEventRuntime updated to latest version.
  • You can now raytrace against dynamic vertex buffers. It used to disallow raytracing against a vertex buffer which was written to, but that is allowed now, and the BLAS/TLAS is updated accordingly.
  • You can copy any image to the clipboard now. It will convert to RGBAU8 sRGB and put that into the clipboard.
  • DX12 code gen imgui ui cosmetic improvements.
  • DX12 application code gen now includes a camera class to make it easier to get running with generated code. In the future the code generator will use the viewer state in the .gguser file to make the generated code work more like the viewer out of the box - loading assets, setting up variables and the camera etc.

The texture refactor in particular touched a lot of code. The unit tests are running and succeeding, but if you hit any problems, let us know!

v0.99.4

27 Nov 20:26
Compare
Choose a tag to compare
  • Fixed tangent calculations in the FBX loader path in the viewer.
  • 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 in editor, viewer, compiler.
  • DX12 code gen fixes and improvements
  • -nopixcapture viewer option to disable pix capturing. Currently needed when using AMD GPU Reshape (https://gpuopen.com/gpu-reshape/)
  • fixed a problem with RT acceleration structure scratch buffer not being large enough sometimes (viewer and DX12 codegen)

v0.99.3

22 Nov 16:45
Compare
Choose a tag to compare
  • Using multiple ray gen nodes in a graph with different root signatures 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.

v0.99.2

08 Oct 22:05
Compare
Choose a tag to compare

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.

Techniques:

  • GigiJam2024 techniques added
  • A depth of field comparison demo at Techniques/PostProcessing/DepthOfField/dof_demo.gg
0