1713 template <addon_event ev>
1714 struct addon_event_traits;
1716 #define RESHADE_DEFINE_ADDON_EVENT_TRAITS(ev, ret, ...) \
1718 struct addon_event_traits<ev> { \
1719 using decl = ret(*)(__VA_ARGS__); \
1797 RESHADE_DEFINE_ADDON_EVENT_TRAITS(
addon_event::dispatch_rays,
bool, api::command_list *cmd_list, api::resource raygen, uint64_t raygen_offset, uint64_t raygen_size, api::resource miss, uint64_t miss_offset, uint64_t miss_size, uint64_t miss_stride, api::resource hit_group, uint64_t hit_group_offset, uint64_t hit_group_size, uint64_t hit_group_stride, api::resource callable, uint64_t callable_offset, uint64_t callable_size, uint64_t callable_stride, uint32_t width, uint32_t height, uint32_t depth);
1805 RESHADE_DEFINE_ADDON_EVENT_TRAITS(
addon_event::resolve_texture_region,
bool, api::command_list *cmd_list, api::resource source, uint32_t source_subresource,
const api::subresource_box *source_box, api::resource dest, uint32_t dest_subresource, int32_t dest_x, int32_t dest_y, int32_t dest_z,
api::format format);
1819 RESHADE_DEFINE_ADDON_EVENT_TRAITS(
addon_event::build_acceleration_structure,
bool, api::command_list *cmd_list,
api::acceleration_structure_type type,
api::acceleration_structure_build_flags flags, uint32_t input_count,
const api::acceleration_structure_build_input *inputs, api::resource scratch, uint64_t scratch_offset, api::resource_view source, api::resource_view dest,
api::acceleration_structure_build_mode mode);
acceleration_structure_build_mode
Type of an acceleration structure build operation.
Definition: reshade_api_resource.hpp:576
query_type
Type of a query.
Definition: reshade_api_pipeline.hpp:1150
acceleration_structure_type
Type of an acceleration structure.
Definition: reshade_api_resource.hpp:555
dynamic_state
A list of all possible render pipeline states that can be set independent of pipeline state objects.
Definition: reshade_api_pipeline.hpp:1192
pipeline_stage
Flags that specify the pipeline stages in the render pipeline.
Definition: reshade_api_pipeline.hpp:45
indirect_command
Type of an indirect draw/dispatch command.
Definition: reshade_api_device.hpp:646
input_source
Input source for events triggered by user input.
Definition: reshade_api.hpp:38
map_access
Memory mapping access types.
Definition: reshade_api_resource.hpp:142
acceleration_structure_copy_mode
Type of an acceleration structure copy operation.
Definition: reshade_api_resource.hpp:565
acceleration_structure_build_flags
Flags that specify additional parameters to an acceleration structure build operation.
Definition: reshade_api_resource.hpp:585
format
Available data and texture formats. This is mostly compatible with 'DXGI_FORMAT'.
Definition: reshade_api_format.hpp:18
filter_mode
Texture filtering modes available for texture sampling operations.
Definition: reshade_api_resource.hpp:50
shader_stage
Flags that specify the shader stages in the render pipeline.
Definition: reshade_api_pipeline.hpp:16
resource_usage
Flags that specify how a resource is used. This needs to be specified during creation and is also use...
Definition: reshade_api_resource.hpp:215
Definition: reshade.hpp:56
addon_event
Definition: reshade_events.hpp:13
@ execute_secondary_command_list
Called when a secondary command list is executed on a primary command list, before: ID3D11DeviceConte...
@ set_fullscreen_state
Called before: IDXGISwapChain::SetFullscreenState vkAcquireFullScreenExclusiveModeEXT vkReleaseFullSc...
@ destroy_effect_runtime
Called when an effect runtime is reset or destroyed.
@ push_descriptors
Called after: IDirect3DDevice9::SetTexture ID3D10Device::VSSetSamplers ID3D10Device::VSSetShaderResou...
@ bind_pipeline
Called after: IDirect3DDevice9::SetVertexShader IDirect3DDevice9::SetPixelShader IDirect3DDevice9::Se...
@ init_device
Called after successful device creation, from: IDirect3D9::CreateDevice IDirect3D9Ex::CreateDeviceEx ...
@ reshade_present
Called after ReShade has rendered its overlay.
@ clear_render_target_view
Called before: IDirect3DDevice9::Clear IDirect3DDevice9::ColorFill ID3D10Device::ClearRenderTargetVie...
@ reshade_set_technique_state
Called before a technique is enabled or disabled, with the new state.
@ copy_descriptor_tables
Called before: ID3D12Device::CopyDescriptors ID3D12Device::CopyDescriptorsSimple vkUpdateDescriptorSe...
@ execute_command_list
Called when a command list is submitted to a command queue (or an immediate command list is flushed),...
@ bind_index_buffer
Called after: IDirect3DDevice9::SetIndices ID3D10Device::IASetIndexBuffer ID3D11DeviceContext::IASetI...
@ destroy_swapchain
Called on swap chain destruction, before: IDirect3DDevice9::Release (for the implicit swap chain) IDi...
@ bind_pipeline_states
Called after: IDirect3DDevice9::SetRenderState ID3D10Device::IASetPrimitiveTopology ID3D10Device::OMS...
@ dispatch_rays
Called before: ID3D12GraphicsCommandList::DispatchRays vkCmdTraceRaysKHR
@ reshade_overlay
Called between the ImGui::NewFrame and ImGui::EndFrame calls for the ReShade overlay....
@ init_sampler
Called after successful sampler creation from: ID3D10Device::CreateSamplerState ID3D11Device::CreateS...
@ clear_depth_stencil_view
Called before: IDirect3DDevice9::Clear ID3D10Device::ClearDepthStencilView ID3D11DeviceContext::Clear...
@ init_pipeline
Called after successful pipeline creation from: IDirect3DDevice9::CreateVertexShader IDirect3DDevice9...
@ init_effect_runtime
Called after effect runtime initialization (which happens after swap chain creation or a swap chain b...
@ destroy_command_list
Called on command list destruction, before: ID3D11CommandList::Release ID3D12CommandList::Release vkF...
@ destroy_resource_view
Called on resource view destruction, before: IDirect3DResource9::Release ID3D10View::Release ID3D11Vi...
@ draw_or_dispatch_indirect
Called before: ID3D11DeviceContext::DrawInstancedIndirect ID3D11DeviceContext::DrawIndexedInstancedIn...
@ reshade_overlay_technique
Called when a technique is added to the technique list in the overlay. Can be used to replace with cu...
@ close_command_list
Called before: ID3D11DeviceContext::FinishCommandList ID3D12GraphicsCommandList::Close vkEndCommandBu...
@ draw_indexed
Called before: IDirect3DDevice9::DrawIndexedPrimitive IDirect3DDevice9::DrawIndexedPrimitiveUP ID3D10...
@ unmap_texture_region
Called before: IDirect3DSurface9::UnlockRect IDirect3DVolume9::UnlockBox IDirect3DTexture9::UnlockRec...
@ reshade_overlay_uniform_variable
Called when a uniform variable widget is added to the variable list in the overlay....
@ reshade_screenshot
Called after a screenshot was taken and saved to disk, with the path to the saved image file.
@ map_buffer_region
Called after: IDirect3DVertexBuffer9::Lock IDirect3DIndexBuffer9::Lock ID3D10Resource::Map ID3D11Devi...
@ bind_descriptor_tables
Called after: ID3D12GraphicsCommandList::SetComputeRootSignature ID3D12GraphicsCommandList::SetGraphi...
@ reshade_reloaded_effects
Called right after all ReShade effects were reloaded. This occurs during effect runtime initializatio...
@ get_query_heap_results
Called before: vkGetQueryPoolResults
@ generate_mipmaps
Called before: ID3D10Device::GenerateMips ID3D11DeviceContext::GenerateMips glGenerateMipmap glGenera...
@ present
Called before: IDirect3DDevice9::Present IDirect3DDevice9Ex::PresentEx IDirect3DSwapChain9::Present I...
@ bind_viewports
Called after: IDirect3DDevice9::SetViewport IDirect3DDevice9::SetRenderTarget (implicitly updates the...
@ reshade_begin_effects
Called right before ReShade effects are rendered.
@ init_swapchain
Called after successful swap chain creation, from: IDirect3D9::CreateDevice (for the implicit swap ch...
@ create_query_heap
Called on query heap creation, before: ID3D12Device::CreateQueryHeap vkCreateQueryPool
@ copy_texture_to_buffer
Called before: ID3D12GraphicsCommandList::CopyTextureRegion vkCmdCopyImageToBuffer vkCmdCopyImageToBu...
@ init_command_list
Called after successful command list creation, from: ID3D11Device::CreateDeferredContext ID3D11Device...
@ begin_query
Called before: ID3D12GraphicsCommandList::BeginQuery vkCmdBeginQuery vkCmdBeginQueryIndexedEXT
@ reshade_render_technique
Called for each technique after it was rendered, usually between reshade_begin_effects and reshade_fi...
@ create_sampler
Called on sampler creation, before: ID3D10Device::CreateSamplerState ID3D11Device::CreateSamplerState...
@ bind_vertex_buffers
Called after: IDirect3DDevice9::SetStreamSource ID3D10Device::IASetVertexBuffers ID3D11DeviceContext:...
@ reshade_set_uniform_value
Called before a uniform variable is changed, with the new value.
@ bind_scissor_rects
Called after: IDirect3DDevice9::SetScissorRect ID3D10Device::RSSetScissorRects ID3D11DeviceContext::R...
@ update_descriptor_tables
Called before: ID3D12Device::CreateConstantBufferView ID3D12Device::CreateShaderResourceView ID3D12De...
@ copy_resource
Called before: IDirect3DDevice9::UpdateTexture IDirect3DDevice9::GetRenderTargetData ID3D10Device::Co...
@ clear_unordered_access_view_uint
Called before: ID3D11DeviceContext::ClearUnorderedAccessViewUint ID3D12GraphicsCommandList::ClearUnor...
@ resolve_texture_region
Called before: IDirect3DDevice9::StretchRect ID3D10Device::ResolveSubresource ID3D11DeviceContext::Re...
@ init_command_queue
Called after successful command queue creation, from: ID3D12Device::CreateCommandQueue vkCreateDevice...
@ destroy_resource
Called on resource destruction, before: IDirect3DResource9::Release ID3D10Resource::Release ID3D11Res...
@ dispatch_mesh
Called before: ID3D12GraphicsCommandList::DispatchMesh vkCmdDrawMeshTasksEXT
@ clear_unordered_access_view_float
Called before: ID3D11DeviceContext::ClearUnorderedAccessViewFloat ID3D11DeviceContext1::ClearView (fo...
@ update_texture_region
Called before: ID3D10Device::UpdateSubresource ID3D11DeviceContext::UpdateSubresource glTexSubData1D ...
@ map_texture_region
Called after: IDirect3DSurface9::LockRect IDirect3DVolume9::LockBox IDirect3DTexture9::LockRect IDire...
@ build_acceleration_structure
Called before: ID3D12GraphicsCommandList4::BuildRaytracingAccelerationStructure vkCmdBuildAcceleratio...
@ reset_command_list
Called before: ID3D12GraphicsCommandList::Reset vkBeginCommandBuffer
@ copy_buffer_region
Called before: ID3D12GraphicsCommandList::CopyBufferRegion glCopyBufferSubData glCopyNamedBufferSubDa...
@ init_resource_view
Called after successful resource view creation from: IDirect3DDevice9::CreateTexture IDirect3DDevice9...
@ draw
Called before: IDirect3DDevice9::DrawPrimitive IDirect3DDevice9::DrawPrimitiveUP IDirect3DDevice9::Pr...
@ destroy_command_queue
Called on command queue destruction, before: ID3D12CommandQueue::Release vkDestroyDevice (for every q...
@ destroy_pipeline_layout
Called on pipeline layout destruction, before: ID3D12RootSignature::Release VkDestroyPipelineLayout
@ copy_acceleration_structure
Called before: ID3D12GraphicsCommandList4::CopyRaytracingAccelerationStructure vkCmdCopyAccelerationS...
@ update_buffer_region
Called before: ID3D10Device::UpdateSubresource ID3D11DeviceContext::UpdateSubresource glBufferSubData...
@ bind_render_targets_and_depth_stencil
Called after: IDirect3DDevice9::SetRenderTarget IDirect3DDevice9::SetDepthStencilSurface ID3D10Device...
@ dispatch
Called before: ID3D11DeviceContext::Dispatch ID3D12GraphicsCommandList::Dispatch glDispatchCompute vk...
@ end_query
Called before: ID3D12GraphicsCommandList::EndQuery vkCmdEndQuery vkCmdEndQueryIndexedEXT vkCmdWriteTi...
@ init_query_heap
Called after successful query heap creation from: ID3D12Device::CreateQueryHeap vkCreateQueryPool
@ init_pipeline_layout
Called after successful pipeline layout creation from: ID3D12Device::CreateRootSignature vkCreatePipe...
@ copy_buffer_to_texture
Called before: ID3D12GraphicsCommandList::CopyTextureRegion vkCmdCopyBufferToImage vkCmdCopyBufferToI...
@ end_render_pass
Called before: ID3D12GraphicsCommandList4::EndRenderPass vkCmdEndRenderPass vkCmdEndRenderPass2 vkCmd...
@ destroy_pipeline
Called on pipeline destruction, before: ID3D10VertexShader::Release ID3D10GeometryShader::Release ID3...
@ begin_render_pass
Called before: ID3D12GraphicsCommandList4::BeginRenderPass vkCmdBeginRenderPass vkCmdBeginRenderPass2...
@ reshade_set_effects_state
Called when all effects are about to be enabled or disabled.
@ destroy_query_heap
Called on query heap destruction, before: ID3D12QueryHeap::Release vkDestroyQueryPool
@ reshade_set_current_preset_path
Called after a preset was loaded and applied. This occurs after effect reloading or when the user cho...
@ unmap_buffer_region
Called before: IDirect3DVertexBuffer9::Unlock IDirect3DIndexBuffer9::Unlock ID3D10Resource::Unmap ID3...
@ push_constants
Called after: IDirect3DDevice9::SetVertexShaderConstantF IDirect3DDevice9::SetPixelShaderConstantF ID...
@ reshade_finish_effects
Called right after ReShade effects were rendered.
@ create_pipeline_layout
Called on pipeline layout creation, before: ID3D12Device::CreateRootSignature vkCreatePipelineLayout
@ destroy_sampler
Called on sampler destruction, before: ID3D10SamplerState::Release ID3D11SamplerState::Release glDele...
@ destroy_device
Called on device destruction, before: IDirect3DDevice9::Reset IDirect3DDevice9Ex::ResetEx IDirect3DDe...
@ init_resource
Called after successful resource creation from: IDirect3DDevice9::CreateVertexBuffer IDirect3DDevice9...
@ reshade_open_overlay
Called when the ReShade overlay is about to be opened or closed.
@ create_swapchain
Called on swap chain creation, before: IDirect3D9::CreateDevice (for the implicit swap chain) IDirect...
@ reshade_reorder_techniques
Called when the rendering order of loaded techniques is changed, with a handle array specifying the n...
@ copy_query_heap_results
Called before: ID3D12GraphicsCommandList::ResolveQueryData vkCmdCopyQueryPoolResults
@ create_resource
Called on resource creation, before: IDirect3DDevice9::CreateVertexBuffer IDirect3DDevice9::CreateInd...
@ bind_stream_output_buffers
Called after: IDirect3DDevice9::ProcessVertices ID3D10Device::SOSetTargets ID3D11DeviceContext::SOSet...
@ create_pipeline
Called on pipeline creation, before: IDirect3DDevice9::CreateVertexShader IDirect3DDevice9::CreatePix...
@ copy_texture_region
Called before: IDirect3DDevice9::UpdateSurface IDirect3DDevice9::StretchRect ID3D10Device::CopySubres...
@ barrier
Called after: ID3D12GraphicsCommandList::ResourceBarrier ID3D12GraphicsCommandList7::Barrier vkCmdPip...
@ create_resource_view
Called on resource view creation, before: ID3D10Device::CreateShaderResourceView ID3D10Device::Create...
#define RESHADE_DEFINE_ADDON_EVENT_TRAITS(ev, ret,...)
Definition: reshade_events.hpp:1716