Skip to content

Releases: houmain/gpupad

2.6.1

07 May 18:39
Compare
Choose a tag to compare

Added

  • Allow to hide specific toolbar icons.
  • Added fullscreen and collapse menu bar actions to context menu.
  • Added optional parameter to app.openEditor to set QML view title.
  • Writing glslang and spirv-cross version in about dialog.

Fixed

  • Fixed crash when Vulkan is not available.
  • Ensure Vulkan is using same adapter as OpenGL.
  • Validating that program has a shader.
  • Fixed calling custom actions from render thread.
  • Fixed some runtime warnings.
  • Unloading caches when closing a session.

2.6.0

02 May 17:31
f19c129
Compare
Choose a tag to compare

Added

  • Added session script object getShaderInterface.
  • Added session script object insertBeforeItem / insertAfterItem.
  • Added session script object parentItem.
  • Added second shadertoy sample.
  • Implemented automatic texture resizing on upload.

Changed

  • Moved selection from app to session script object.
  • Keyboard script object keys array can be indexed by ASCII code.
  • Updating shader type in session when Saving editor As...
  • Setting default call item name to call type.

Fixed

  • Validating shader types for calls.

2.5.5

26 Apr 09:11
b12faa9
Compare
Choose a tag to compare

Added

  • Added AccelerationStructure, Instance, Geometry items for ray tracing call.
  • Allow loadLibrary to load JavaScript libraries from "libs" directory.
  • Added bindless textures support / getTextureHandle to session script object.
  • Added buffer reference support / getBufferHandle to session script object.
  • Added nonuniform indexing / variable length array support.
  • Added callAction to app script object.
  • Added frameIndex to app script object.
  • Added "Ray Tracing In Vulkan" samples.
  • Added "Custom Actions" sample.

Fixed

  • Validating Call's count does not exceed vertex/indexs count.
  • Fixed offset/size of buffer block bindings in Vulkan.
  • Improved performance of buffer block updates.
  • Improved highlighting of items used by call.
  • Prevent using Session object in binding scripts.
  • Fixed printf in Vulkan renderer without enabled Auto Map Bindings.

2.4.0

22 Mar 10:28
Compare
Choose a tag to compare

Changed

  • Added app script object, made Session/Mouse/Keyboard properties of it.
  • Started integrating custom actions manager in file browser.

Added

  • Added loadLibrary to app script object, for loading binaries.
  • Added openFileDialog to app script object.
  • Added "Generate Mesh" action.
  • Added "Ray Tracing" and "Mesh Shader" samples.
  • Allow to leave "Draw" call's vertex count empty to deduce from stream.
  • Added new shader file extensions to file dialogs.
  • More work on "Trace Rays" call.

Fixed

  • Fixed buffer not set warning when no member is used.
  • Validating index type of "DrawIndexed" call.
  • Toolbar icon size explicitly set to 16x16.
  • Fixed QML views from being completely black on Windows.
  • Preserving untitled filenames when dragging/copying items.

2.3.0

12 Feb 22:24
Compare
Choose a tag to compare

Added

  • Added modern shader types.
  • Added "Draw Mesh Tasks" call.
  • Added "Trace Rays" call [WIP].
  • Added "Order-independent transparency" sample.
  • Allowing expressions in Target default width/height/layers.
  • Obtaining filename and line number of script errors.
  • Added options "Reverse Culling" and "Flip Viewport" to Vulkan renderer.
  • Added setScriptSource and setShaderSource to Session script object.
  • Added custom actions toolbar item.
  • Added JSON Interface Output.
  • Added delta to Mouse object.

Changed

  • Enforcing dimensions and format selected in texture item.
  • Omitting reference errors when evaluating expressions with default script engine.
  • Extracting uniform values from structured expression results.
  • Custom actions are calling "apply" instead of "execute"
  • Reset item name to type name when clearing filename.
  • Looking for samples also in ../share folder.
  • Updated Quad sample.

Fixed

  • Checking that all attributes are set.
  • Checking that indirect/index buffer is set.
  • Fixed glslang compiled shader SSBO binding.
  • Fixed source type deduction of untitled editors.
  • Improved alignment of editable cells in binary editor.
  • Not automatically evaluating when editing Scripts which are executed on reset.
  • Prevent deletion of file when changing case only of file item.
  • Made Session available again in custom actions.
  • Fixed paths in custom actions.
  • Fixed timeout in custom actions.

2.2.0

23 Dec 14:53
Compare
Choose a tag to compare

Added

  • Allow to bind uniform buffer members separately.
  • Added support for resource-array bindings.
  • Added glslang HLSL support to OpenGL renderer.
  • Added Auto Sampled Textures setting to session.
  • Added push constant support also for compute.
  • Added name input boxes to property editors.
  • Added Uniforms test sample.
  • Added definition of GPUPAD_GLSLANG.

Changed

  • Compiling all shader stages to SPIR-V at once.
  • Updated GLSL syntax highlighting keywords to GLSL 4.6 specification.
  • Source editor is centering on word when executing find.
  • Parse line number from printf messages containing "in line".
  • Sorting only #extensions of multi-file shaders to front.
  • Added option for unity build in CMake (on by default).

Fixed

  • Verifying that Vulkan is available.
  • Validating uniform buffer size.
  • Fixed crash when using texture buffers.
  • Fixed file cache invalidation when renaming file in session tree and copying session.
  • Never keep previous shader program when shader compiler did change.
  • Removed no longer needed font size workaround on Windows.
  • Improved alignment of editable region in binary editor.
  • Highlight usage of buffer block and groups.
  • Fixed re-evaluation when Includable shader is changed.
  • Restored OpenGL subroutine support.

2.1.0

23 Nov 12:49
Compare
Choose a tag to compare
2.1.0 Pre-release
Pre-release

Added

  • Showing session item in session editor.
  • Added some shader compiler options to session item.
  • Allow to select glslang compiler for OpenGL.

Changed

  • Generating output with builtin glslang.
  • Moved session shader preamble/include to session properties, removed global.
  • Moved Renderer selection to session item.
  • Using session renderer for validating source.

Fixed

  • Synchronization of Line Wrapping menu and toolbar controls.

2.0.1

28 Oct 20:57
Compare
Choose a tag to compare
2.0.1 Pre-release
Pre-release

Added

  • Added definition of GPUPAD_OPENGL and GPUPAD_VULKAN.
  • Added push constant support.
  • Allow to select entry point for Vulkan/GLSL.

Fixed

  • Fixed RGB image loader stride.
  • Fixed color picker on HiDPI displays.
  • Prevent sampling attachment.
  • Fixed setting script globals by uniform bindings.
  • Fixed evaluation of empty expression for integer values.
  • Validating that all attachments have the same sample count.
  • Improved attachmentless rendering.

Changed

  • Moved assets to extra directory.
  • Opening first texture item of sample sessions.
  • Changed texture sample editor to a combobox.
  • Removed "default" themes.

2.0.0

05 Aug 19:00
0ca5cb9
Compare
Choose a tag to compare
2.0.0 Pre-release
Pre-release

Added

  • Vulkan renderer can be used for evaluating sessions.
  • Using OpenImageIO for reading/writing most image formats.

Changed

  • Removed Qt5 support.
  • Remove Lua scripting support.

1.35.1

26 Oct 07:03
Compare
Choose a tag to compare

Added

  • Added EXR writing.

Fixed

  • Fixed TIFF writing.
  • Resetting item name to default when clearing filename.