ReShade
A generic post-processing injector for games and video software.
Classes | Namespaces | Enumerations | Functions
reshade_api_pipeline.hpp File Reference
#include "reshade_api_resource.hpp"

Go to the source code of this file.

Classes

struct  reshade::api::constant_range
 Describes a range of constants in a pipeline layout. More...
 
struct  reshade::api::descriptor_range
 Describes a range of descriptors of a descriptor table in a pipeline layout. More...
 
struct  reshade::api::descriptor_range_with_static_samplers
 
struct  reshade::api::pipeline_layout_param
 Describes a single parameter in a pipeline layout. More...
 
struct  reshade::api::pipeline_layout
 An opaque handle to a pipeline layout object. More...
 
struct  reshade::api::shader_desc
 Describes a shader object. More...
 
struct  reshade::api::shader_group
 Describes a ray tracing shader group. More...
 
struct  reshade::api::input_element
 Describes a single element in the vertex layout for the input-assembler stage. More...
 
struct  reshade::api::stream_output_desc
 Describes the state of the stream-output stage. More...
 
struct  reshade::api::blend_desc
 Describes the state of the output-merger stage. More...
 
struct  reshade::api::rasterizer_desc
 Describes the state of the rasterizer stage. More...
 
struct  reshade::api::depth_stencil_desc
 Describes the state of the depth-stencil stage. More...
 
struct  reshade::api::pipeline_subobject
 Describes a pipeline sub-object. More...
 
struct  reshade::api::pipeline
 An opaque handle to a pipeline state object. More...
 
struct  reshade::api::buffer_range
 A constant buffer resource descriptor. More...
 
struct  reshade::api::sampler_with_resource_view
 A combined sampler and resource view descriptor. More...
 
struct  reshade::api::descriptor_table
 An opaque handle to a descriptor table in a descriptor heap. More...
 
struct  reshade::api::descriptor_table_copy
 All information needed to copy descriptors between descriptor tables. More...
 
struct  reshade::api::descriptor_table_update
 All information needed to update descriptors in a descriptor table. More...
 
struct  reshade::api::descriptor_heap
 An opaque handle to a descriptor heap. More...
 
struct  reshade::api::query_heap
 An opaque handle to a query heap. More...
 
struct  reshade::api::rect
 Describes a rectangle. More...
 
struct  reshade::api::viewport
 Describes a render viewport. More...
 
struct  reshade::api::fence
 An opaque handle to a fence synchronization object. More...
 

Namespaces

 reshade
 
 reshade::api
 

Enumerations

enum class  reshade::api::shader_stage : uint32_t {
  reshade::api::vertex , reshade::api::hull , reshade::api::domain , reshade::api::geometry ,
  reshade::api::pixel , reshade::api::compute , reshade::api::amplification , reshade::api::mesh ,
  reshade::api::raygen , reshade::api::any_hit , reshade::api::closest_hit , reshade::api::miss ,
  reshade::api::intersection , reshade::api::callable , reshade::api::all , reshade::api::all_compute ,
  reshade::api::all_graphics , reshade::api::all_ray_tracing
}
 Flags that specify the shader stages in the render pipeline. More...
 
enum class  reshade::api::pipeline_stage : uint32_t {
  reshade::api::vertex_shader , reshade::api::hull_shader , reshade::api::domain_shader , reshade::api::geometry_shader ,
  reshade::api::pixel_shader , reshade::api::compute_shader , reshade::api::amplification_shader , reshade::api::mesh_shader ,
  reshade::api::ray_tracing_shader , reshade::api::input_assembler , reshade::api::stream_output , reshade::api::rasterizer ,
  reshade::api::depth_stencil , reshade::api::output_merger , reshade::api::all , reshade::api::all_compute ,
  reshade::api::all_graphics , reshade::api::all_ray_tracing , reshade::api::all_shader_stages
}
 Flags that specify the pipeline stages in the render pipeline. More...
 
enum class  reshade::api::descriptor_type : uint32_t {
  reshade::api::sampler , reshade::api::sampler_with_resource_view , reshade::api::buffer_shader_resource_view , reshade::api::buffer_unordered_access_view ,
  reshade::api::texture_shader_resource_view , reshade::api::shader_resource_view , reshade::api::texture_unordered_access_view , reshade::api::unordered_access_view ,
  reshade::api::constant_buffer , reshade::api::shader_storage_buffer , reshade::api::acceleration_structure
}
 Type of a descriptor. More...
 
enum class  reshade::api::pipeline_layout_param_type : uint32_t {
  reshade::api::push_constants , reshade::api::descriptor_table , reshade::api::descriptor_table_with_static_samplers , reshade::api::push_descriptors ,
  reshade::api::push_descriptors_with_ranges , reshade::api::push_descriptors_with_static_samplers
}
 Type of a pipeline layout parameter. More...
 
enum class  reshade::api::fill_mode : uint32_t { reshade::api::solid , reshade::api::wireframe , reshade::api::point }
 Fill mode to use when rendering triangles. More...
 
enum class  reshade::api::cull_mode : uint32_t { reshade::api::none , reshade::api::front , reshade::api::back , reshade::api::front_and_back }
 Indicates triangles facing a particular direction are not drawn. More...
 
enum class  reshade::api::logic_op : uint32_t {
  reshade::api::clear , reshade::api::bitwise_and , reshade::api::bitwise_and_reverse , reshade::api::copy ,
  reshade::api::bitwise_and_inverted , reshade::api::noop , reshade::api::bitwise_xor , reshade::api::bitwise_or ,
  reshade::api::bitwise_nor , reshade::api::equivalent , reshade::api::invert , reshade::api::bitwise_or_reverse ,
  reshade::api::copy_inverted , reshade::api::bitwise_or_inverted , reshade::api::bitwise_nand , reshade::api::set
}
 Logic operations. More...
 
enum class  reshade::api::blend_op : uint32_t {
  reshade::api::add , reshade::api::subtract , reshade::api::reverse_subtract , reshade::api::min ,
  reshade::api::max
}
 Color or alpha blending operations. More...
 
enum class  reshade::api::blend_factor : uint32_t {
  reshade::api::zero , reshade::api::one , reshade::api::source_color , reshade::api::one_minus_source_color ,
  reshade::api::dest_color , reshade::api::one_minus_dest_color , reshade::api::source_alpha , reshade::api::one_minus_source_alpha ,
  reshade::api::dest_alpha , reshade::api::one_minus_dest_alpha , reshade::api::constant_color , reshade::api::one_minus_constant_color ,
  reshade::api::constant_alpha , reshade::api::one_minus_constant_alpha , reshade::api::source_alpha_saturate , reshade::api::source1_color ,
  reshade::api::one_minus_source1_color , reshade::api::source1_alpha , reshade::api::one_minus_source1_alpha
}
 Blend factors in color or alpha blending operations, which modulate values between the pixel shader output and render target. More...
 
enum class  reshade::api::stencil_op : uint32_t {
  reshade::api::keep , reshade::api::zero , reshade::api::replace , reshade::api::increment_saturate ,
  reshade::api::decrement_saturate , reshade::api::invert , reshade::api::increment , reshade::api::decrement
}
 Stencil operations that can be performed during depth-stencil testing. More...
 
enum class  reshade::api::primitive_topology : uint32_t {
  reshade::api::undefined , reshade::api::point_list , reshade::api::line_list , reshade::api::line_strip ,
  reshade::api::triangle_list , reshade::api::triangle_strip , reshade::api::triangle_fan , reshade::api::quad_list ,
  reshade::api::quad_strip , reshade::api::line_list_adj , reshade::api::line_strip_adj , reshade::api::triangle_list_adj ,
  reshade::api::triangle_strip_adj , reshade::api::patch_list_01_cp , reshade::api::patch_list_02_cp , reshade::api::patch_list_03_cp ,
  reshade::api::patch_list_04_cp , reshade::api::patch_list_05_cp , reshade::api::patch_list_06_cp , reshade::api::patch_list_07_cp ,
  reshade::api::patch_list_08_cp , reshade::api::patch_list_09_cp , reshade::api::patch_list_10_cp , reshade::api::patch_list_11_cp ,
  reshade::api::patch_list_12_cp , reshade::api::patch_list_13_cp , reshade::api::patch_list_14_cp , reshade::api::patch_list_15_cp ,
  reshade::api::patch_list_16_cp , reshade::api::patch_list_17_cp , reshade::api::patch_list_18_cp , reshade::api::patch_list_19_cp ,
  reshade::api::patch_list_20_cp , reshade::api::patch_list_21_cp , reshade::api::patch_list_22_cp , reshade::api::patch_list_23_cp ,
  reshade::api::patch_list_24_cp , reshade::api::patch_list_25_cp , reshade::api::patch_list_26_cp , reshade::api::patch_list_27_cp ,
  reshade::api::patch_list_28_cp , reshade::api::patch_list_29_cp , reshade::api::patch_list_30_cp , reshade::api::patch_list_31_cp ,
  reshade::api::patch_list_32_cp
}
 Specifies how the pipeline interprets vertex data that is bound to the vertex input stage and subsequently renders it. More...
 
enum class  reshade::api::shader_group_type {
  reshade::api::raygen , reshade::api::miss , reshade::api::hit_group_triangles , reshade::api::hit_group_aabbs ,
  reshade::api::callable
}
 Type of a ray tracing shader group. More...
 
enum class  reshade::api::pipeline_flags : uint32_t { reshade::api::none , reshade::api::library , reshade::api::skip_triangles , reshade::api::skip_aabbs }
 Flags that specify additional parameters of a pipeline. More...
 
enum class  reshade::api::pipeline_subobject_type : uint32_t {
  reshade::api::unknown , reshade::api::vertex_shader , reshade::api::hull_shader , reshade::api::domain_shader ,
  reshade::api::geometry_shader , reshade::api::pixel_shader , reshade::api::compute_shader , reshade::api::input_layout ,
  reshade::api::stream_output_state , reshade::api::blend_state , reshade::api::rasterizer_state , reshade::api::depth_stencil_state ,
  reshade::api::primitive_topology , reshade::api::depth_stencil_format , reshade::api::render_target_formats , reshade::api::sample_mask ,
  reshade::api::sample_count , reshade::api::viewport_count , reshade::api::dynamic_pipeline_states , reshade::api::max_vertex_count ,
  reshade::api::amplification_shader , reshade::api::mesh_shader , reshade::api::raygen_shader , reshade::api::any_hit_shader ,
  reshade::api::closest_hit_shader , reshade::api::miss_shader , reshade::api::intersection_shader , reshade::api::callable_shader ,
  reshade::api::libraries , reshade::api::shader_groups , reshade::api::max_payload_size , reshade::api::max_attribute_size ,
  reshade::api::max_recursion_depth , reshade::api::flags
}
 Type of a pipeline sub-object. More...
 
enum class  reshade::api::query_type {
  reshade::api::occlusion , reshade::api::binary_occlusion , reshade::api::timestamp , reshade::api::pipeline_statistics ,
  reshade::api::stream_output_statistics_0 , reshade::api::stream_output_statistics_1 , reshade::api::stream_output_statistics_2 , reshade::api::stream_output_statistics_3
}
 Type of a query. More...
 
enum class  reshade::api::dynamic_state {
  reshade::api::unknown , reshade::api::alpha_test_enable , reshade::api::alpha_reference_value , reshade::api::alpha_func ,
  reshade::api::srgb_write_enable , reshade::api::primitive_topology , reshade::api::sample_mask , reshade::api::alpha_to_coverage_enable ,
  reshade::api::blend_enable , reshade::api::logic_op_enable , reshade::api::source_color_blend_factor , reshade::api::dest_color_blend_factor ,
  reshade::api::color_blend_op , reshade::api::source_alpha_blend_factor , reshade::api::dest_alpha_blend_factor , reshade::api::alpha_blend_op ,
  reshade::api::blend_constant , reshade::api::logic_op , reshade::api::render_target_write_mask , reshade::api::fill_mode ,
  reshade::api::cull_mode , reshade::api::front_counter_clockwise , reshade::api::depth_bias , reshade::api::depth_bias_clamp ,
  reshade::api::depth_bias_slope_scaled , reshade::api::depth_clip_enable , reshade::api::scissor_enable , reshade::api::multisample_enable ,
  reshade::api::antialiased_line_enable , reshade::api::depth_enable , reshade::api::depth_write_mask , reshade::api::depth_func ,
  reshade::api::stencil_enable , reshade::api::front_stencil_read_mask , reshade::api::front_stencil_write_mask , reshade::api::front_stencil_reference_value ,
  reshade::api::front_stencil_func , reshade::api::front_stencil_pass_op , reshade::api::front_stencil_fail_op , reshade::api::front_stencil_depth_fail_op ,
  reshade::api::back_stencil_read_mask , reshade::api::back_stencil_write_mask , reshade::api::back_stencil_reference_value , reshade::api::back_stencil_func ,
  reshade::api::back_stencil_pass_op , reshade::api::back_stencil_fail_op , reshade::api::back_stencil_depth_fail_op , reshade::api::ray_tracing_pipeline_stack_size
}
 A list of all possible render pipeline states that can be set independent of pipeline state objects. More...
 
enum class  reshade::api::fence_flags : uint32_t { reshade::api::none , reshade::api::shared , reshade::api::shared_nt_handle , reshade::api::non_monitored }
 Flags that specify additional parameters of a fence. More...
 

Functions

constexpr shader_stage reshade::api::operator~ (shader_stage a)
 
shader_stage & reshade::api::operator&= (shader_stage &a, shader_stage b)
 
constexpr shader_stage reshade::api::operator& (shader_stage a, shader_stage b)
 
shader_stage & reshade::api::operator|= (shader_stage &a, shader_stage b)
 
constexpr shader_stage reshade::api::operator| (shader_stage a, shader_stage b)
 
shader_stage & reshade::api::operator^= (shader_stage &a, shader_stage b)
 
constexpr shader_stage reshade::api::operator^ (shader_stage a, shader_stage b)
 
constexpr bool reshade::api::operator== (shader_stage lhs, uint32_t rhs)
 
constexpr bool reshade::api::operator!= (shader_stage lhs, uint32_t rhs)
 
constexpr pipeline_stage reshade::api::operator~ (pipeline_stage a)
 
pipeline_stage & reshade::api::operator&= (pipeline_stage &a, pipeline_stage b)
 
constexpr pipeline_stage reshade::api::operator& (pipeline_stage a, pipeline_stage b)
 
pipeline_stage & reshade::api::operator|= (pipeline_stage &a, pipeline_stage b)
 
constexpr pipeline_stage reshade::api::operator| (pipeline_stage a, pipeline_stage b)
 
pipeline_stage & reshade::api::operator^= (pipeline_stage &a, pipeline_stage b)
 
constexpr pipeline_stage reshade::api::operator^ (pipeline_stage a, pipeline_stage b)
 
constexpr bool reshade::api::operator== (pipeline_stage lhs, uint32_t rhs)
 
constexpr bool reshade::api::operator!= (pipeline_stage lhs, uint32_t rhs)
 
constexpr bool reshade::api::operator< (pipeline_layout lhs, pipeline_layout rhs)
 
constexpr bool reshade::api::operator!= (pipeline_layout lhs, pipeline_layout rhs)
 
constexpr bool reshade::api::operator!= (pipeline_layout lhs, uint64_t rhs)
 
constexpr bool reshade::api::operator== (pipeline_layout lhs, pipeline_layout rhs)
 
constexpr bool reshade::api::operator== (pipeline_layout lhs, uint64_t rhs)
 
constexpr cull_mode reshade::api::operator~ (cull_mode a)
 
cull_mode & reshade::api::operator&= (cull_mode &a, cull_mode b)
 
constexpr cull_mode reshade::api::operator& (cull_mode a, cull_mode b)
 
cull_mode & reshade::api::operator|= (cull_mode &a, cull_mode b)
 
constexpr cull_mode reshade::api::operator| (cull_mode a, cull_mode b)
 
cull_mode & reshade::api::operator^= (cull_mode &a, cull_mode b)
 
constexpr cull_mode reshade::api::operator^ (cull_mode a, cull_mode b)
 
constexpr bool reshade::api::operator== (cull_mode lhs, uint32_t rhs)
 
constexpr bool reshade::api::operator!= (cull_mode lhs, uint32_t rhs)
 
constexpr pipeline_flags reshade::api::operator~ (pipeline_flags a)
 
pipeline_flags & reshade::api::operator&= (pipeline_flags &a, pipeline_flags b)
 
constexpr pipeline_flags reshade::api::operator& (pipeline_flags a, pipeline_flags b)
 
pipeline_flags & reshade::api::operator|= (pipeline_flags &a, pipeline_flags b)
 
constexpr pipeline_flags reshade::api::operator| (pipeline_flags a, pipeline_flags b)
 
pipeline_flags & reshade::api::operator^= (pipeline_flags &a, pipeline_flags b)
 
constexpr pipeline_flags reshade::api::operator^ (pipeline_flags a, pipeline_flags b)
 
constexpr bool reshade::api::operator== (pipeline_flags lhs, uint32_t rhs)
 
constexpr bool reshade::api::operator!= (pipeline_flags lhs, uint32_t rhs)
 
constexpr bool reshade::api::operator< (pipeline lhs, pipeline rhs)
 
constexpr bool reshade::api::operator!= (pipeline lhs, pipeline rhs)
 
constexpr bool reshade::api::operator!= (pipeline lhs, uint64_t rhs)
 
constexpr bool reshade::api::operator== (pipeline lhs, pipeline rhs)
 
constexpr bool reshade::api::operator== (pipeline lhs, uint64_t rhs)
 
constexpr bool reshade::api::operator< (descriptor_table lhs, descriptor_table rhs)
 
constexpr bool reshade::api::operator!= (descriptor_table lhs, descriptor_table rhs)
 
constexpr bool reshade::api::operator!= (descriptor_table lhs, uint64_t rhs)
 
constexpr bool reshade::api::operator== (descriptor_table lhs, descriptor_table rhs)
 
constexpr bool reshade::api::operator== (descriptor_table lhs, uint64_t rhs)
 
constexpr bool reshade::api::operator< (descriptor_heap lhs, descriptor_heap rhs)
 
constexpr bool reshade::api::operator!= (descriptor_heap lhs, descriptor_heap rhs)
 
constexpr bool reshade::api::operator!= (descriptor_heap lhs, uint64_t rhs)
 
constexpr bool reshade::api::operator== (descriptor_heap lhs, descriptor_heap rhs)
 
constexpr bool reshade::api::operator== (descriptor_heap lhs, uint64_t rhs)
 
constexpr bool reshade::api::operator< (query_heap lhs, query_heap rhs)
 
constexpr bool reshade::api::operator!= (query_heap lhs, query_heap rhs)
 
constexpr bool reshade::api::operator!= (query_heap lhs, uint64_t rhs)
 
constexpr bool reshade::api::operator== (query_heap lhs, query_heap rhs)
 
constexpr bool reshade::api::operator== (query_heap lhs, uint64_t rhs)
 
constexpr fence_flags reshade::api::operator~ (fence_flags a)
 
fence_flags & reshade::api::operator&= (fence_flags &a, fence_flags b)
 
constexpr fence_flags reshade::api::operator& (fence_flags a, fence_flags b)
 
fence_flags & reshade::api::operator|= (fence_flags &a, fence_flags b)
 
constexpr fence_flags reshade::api::operator| (fence_flags a, fence_flags b)
 
fence_flags & reshade::api::operator^= (fence_flags &a, fence_flags b)
 
constexpr fence_flags reshade::api::operator^ (fence_flags a, fence_flags b)
 
constexpr bool reshade::api::operator== (fence_flags lhs, uint32_t rhs)
 
constexpr bool reshade::api::operator!= (fence_flags lhs, uint32_t rhs)
 
constexpr bool reshade::api::operator< (fence lhs, fence rhs)
 
constexpr bool reshade::api::operator!= (fence lhs, fence rhs)
 
constexpr bool reshade::api::operator!= (fence lhs, uint64_t rhs)
 
constexpr bool reshade::api::operator== (fence lhs, fence rhs)
 
constexpr bool reshade::api::operator== (fence lhs, uint64_t rhs)