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

Go to the source code of this file.

Classes

struct  reshade::api::sampler_desc
 Describes a sampler state. More...
 
struct  reshade::api::sampler
 An opaque handle to a sampler state object. More...
 
struct  reshade::api::resource_desc
 Describes a resource, such as a buffer or texture. More...
 
struct  reshade::api::resource
 An opaque handle to a resource object (buffer, texture, ...). More...
 
struct  reshade::api::resource_view_desc
 Describes a resource view, which specifies how to interpret the data of a resource. More...
 
struct  reshade::api::resource_view
 An opaque handle to a resource view object (depth-stencil, render target, shader resource view, ...). More...
 
struct  reshade::api::subresource_box
 Describes a region inside a subresource. More...
 
struct  reshade::api::subresource_data
 Describes the data of a subresource. More...
 
struct  reshade::api::render_pass_depth_stencil_desc
 Describes a depth-stencil view and how it is treated at the start and end of a render pass. More...
 
struct  reshade::api::render_pass_render_target_desc
 Describes a render target view and how it is treated at the start and end of a render pass. More...
 
struct  reshade::api::acceleration_structure_instance
 Describes a single instance in a top-level acceleration structure. The data in acceleration_structure_build_input::instances::buffer should be an array of this structure. More...
 
struct  reshade::api::acceleration_structure_build_input
 Describes a build input for an acceleration structure build operation. More...
 

Namespaces

 reshade
 
 reshade::api
 

Macros

#define RESHADE_DEFINE_HANDLE(name)
 
#define RESHADE_DEFINE_ENUM_FLAG_OPERATORS(type)
 

Enumerations

enum class  reshade::api::compare_op : uint32_t {
  reshade::api::never , reshade::api::less , reshade::api::equal , reshade::api::less_equal ,
  reshade::api::greater , reshade::api::not_equal , reshade::api::greater_equal , reshade::api::always
}
 Comparison operations. More...
 
enum class  reshade::api::filter_mode : uint32_t {
  reshade::api::min_mag_mip_point , reshade::api::min_mag_point_mip_linear , reshade::api::min_point_mag_linear_mip_point , reshade::api::min_point_mag_mip_linear ,
  reshade::api::min_linear_mag_mip_point , reshade::api::min_linear_mag_point_mip_linear , reshade::api::min_mag_linear_mip_point , reshade::api::min_mag_mip_linear ,
  reshade::api::min_mag_anisotropic_mip_point , reshade::api::anisotropic , reshade::api::compare_min_mag_mip_point , reshade::api::compare_min_mag_point_mip_linear ,
  reshade::api::compare_min_point_mag_linear_mip_point , reshade::api::compare_min_point_mag_mip_linear , reshade::api::compare_min_linear_mag_mip_point , reshade::api::compare_min_linear_mag_point_mip_linear ,
  reshade::api::compare_min_mag_linear_mip_point , reshade::api::compare_min_mag_mip_linear , reshade::api::compare_min_mag_anisotropic_mip_point , reshade::api::compare_anisotropic
}
 Texture filtering modes available for texture sampling operations. More...
 
enum class  reshade::api::texture_address_mode : uint32_t {
  reshade::api::wrap , reshade::api::mirror , reshade::api::clamp , reshade::api::border ,
  reshade::api::mirror_once
}
 Sampling behavior at texture coordinates outside the bounds of a texture resource. More...
 
enum class  reshade::api::map_access { reshade::api::read_only , reshade::api::write_only , reshade::api::read_write , reshade::api::write_discard }
 Memory mapping access types. More...
 
enum class  reshade::api::memory_heap : uint32_t {
  reshade::api::unknown , reshade::api::gpu_only , reshade::api::cpu_to_gpu , reshade::api::gpu_to_cpu ,
  reshade::api::cpu_only , reshade::api::custom
}
 Memory heap types, which give a hint as to where to place the allocation for a resource. More...
 
enum class  reshade::api::resource_type : uint32_t {
  reshade::api::unknown , reshade::api::buffer , reshade::api::texture_1d , reshade::api::texture_2d ,
  reshade::api::texture_3d , reshade::api::surface
}
 Type of a resource. This is specified during creation and is immutable. Various operations may have special requirements on the type of resources they operate on (e.g. copies can only happen between resources of the same type, ...). More...
 
enum class  reshade::api::resource_flags : uint32_t {
  reshade::api::none , reshade::api::dynamic , reshade::api::cube_compatible , reshade::api::generate_mipmaps ,
  reshade::api::shared , reshade::api::shared_nt_handle , reshade::api::sparse_binding
}
 Flags that specify additional parameters of a resource. More...
 
enum class  reshade::api::resource_usage : uint32_t {
  reshade::api::undefined , reshade::api::index_buffer , reshade::api::vertex_buffer , reshade::api::constant_buffer ,
  reshade::api::stream_output , reshade::api::indirect_argument , reshade::api::depth_stencil , reshade::api::depth_stencil_read ,
  reshade::api::depth_stencil_write , reshade::api::render_target , reshade::api::shader_resource , reshade::api::shader_resource_pixel ,
  reshade::api::shader_resource_non_pixel , reshade::api::unordered_access , reshade::api::copy_dest , reshade::api::copy_source ,
  reshade::api::resolve_dest , reshade::api::resolve_source , reshade::api::acceleration_structure , reshade::api::general ,
  reshade::api::present , reshade::api::cpu_access
}
 Flags that specify how a resource is used. This needs to be specified during creation and is also used to transition between different resource states within a command list. More...
 
enum class  reshade::api::resource_view_type : uint32_t {
  reshade::api::unknown , reshade::api::buffer , reshade::api::texture_1d , reshade::api::texture_1d_array ,
  reshade::api::texture_2d , reshade::api::texture_2d_array , reshade::api::texture_2d_multisample , reshade::api::texture_2d_multisample_array ,
  reshade::api::texture_3d , reshade::api::texture_cube , reshade::api::texture_cube_array , reshade::api::acceleration_structure
}
 Type of a resource view. This identifies how a resource view interprets the data of its resource. More...
 
enum class  reshade::api::render_pass_load_op : uint32_t { reshade::api::load , reshade::api::clear , reshade::api::discard , reshade::api::no_access }
 Specifies how the contents of a render target or depth-stencil view are treated at the start of a render pass. More...
 
enum class  reshade::api::render_pass_store_op : uint32_t { reshade::api::store , reshade::api::discard , reshade::api::no_access }
 Specifies how the contents of a render target or depth-stencil view are treated at the end of a render pass. More...
 
enum class  reshade::api::acceleration_structure_type { reshade::api::top_level , reshade::api::bottom_level , reshade::api::generic }
 Type of an acceleration structure. More...
 
enum class  reshade::api::acceleration_structure_copy_mode { reshade::api::clone , reshade::api::compact , reshade::api::serialize , reshade::api::deserialize }
 Type of an acceleration structure copy operation. More...
 
enum class  reshade::api::acceleration_structure_build_mode { reshade::api::build , reshade::api::update }
 Type of an acceleration structure build operation. More...
 
enum class  reshade::api::acceleration_structure_build_flags : uint32_t {
  reshade::api::none , reshade::api::allow_update , reshade::api::allow_compaction , reshade::api::prefer_fast_trace ,
  reshade::api::prefer_fast_build , reshade::api::minimize_memory_usage
}
 Flags that specify additional parameters to an acceleration structure build operation. More...
 
enum class  reshade::api::acceleration_structure_build_input_type : uint32_t { reshade::api::triangles , reshade::api::aabbs , reshade::api::instances }
 Type of an acceleration structure structure build input. More...
 
enum class  reshade::api::acceleration_structure_build_input_flags : uint32_t { reshade::api::none , reshade::api::opaque , reshade::api::no_duplicate_any_hit_invocation }
 Flags that specify additional parameters of an acceleration structure build input. More...
 

Functions

constexpr bool reshade::api::operator< (sampler lhs, sampler rhs)
 
constexpr bool reshade::api::operator!= (sampler lhs, sampler rhs)
 
constexpr bool reshade::api::operator!= (sampler lhs, uint64_t rhs)
 
constexpr bool reshade::api::operator== (sampler lhs, sampler rhs)
 
constexpr bool reshade::api::operator== (sampler lhs, uint64_t rhs)
 
constexpr resource_flags reshade::api::operator~ (resource_flags a)
 
resource_flags & reshade::api::operator&= (resource_flags &a, resource_flags b)
 
constexpr resource_flags reshade::api::operator& (resource_flags a, resource_flags b)
 
resource_flags & reshade::api::operator|= (resource_flags &a, resource_flags b)
 
constexpr resource_flags reshade::api::operator| (resource_flags a, resource_flags b)
 
resource_flags & reshade::api::operator^= (resource_flags &a, resource_flags b)
 
constexpr resource_flags reshade::api::operator^ (resource_flags a, resource_flags b)
 
constexpr bool reshade::api::operator== (resource_flags lhs, uint32_t rhs)
 
constexpr bool reshade::api::operator!= (resource_flags lhs, uint32_t rhs)
 
constexpr resource_usage reshade::api::operator~ (resource_usage a)
 
resource_usage & reshade::api::operator&= (resource_usage &a, resource_usage b)
 
constexpr resource_usage reshade::api::operator& (resource_usage a, resource_usage b)
 
resource_usage & reshade::api::operator|= (resource_usage &a, resource_usage b)
 
constexpr resource_usage reshade::api::operator| (resource_usage a, resource_usage b)
 
resource_usage & reshade::api::operator^= (resource_usage &a, resource_usage b)
 
constexpr resource_usage reshade::api::operator^ (resource_usage a, resource_usage b)
 
constexpr bool reshade::api::operator== (resource_usage lhs, uint32_t rhs)
 
constexpr bool reshade::api::operator!= (resource_usage lhs, uint32_t rhs)
 
constexpr bool reshade::api::operator< (resource lhs, resource rhs)
 
constexpr bool reshade::api::operator!= (resource lhs, resource rhs)
 
constexpr bool reshade::api::operator!= (resource lhs, uint64_t rhs)
 
constexpr bool reshade::api::operator== (resource lhs, resource rhs)
 
constexpr bool reshade::api::operator== (resource lhs, uint64_t rhs)
 
constexpr bool reshade::api::operator< (resource_view lhs, resource_view rhs)
 
constexpr bool reshade::api::operator!= (resource_view lhs, resource_view rhs)
 
constexpr bool reshade::api::operator!= (resource_view lhs, uint64_t rhs)
 
constexpr bool reshade::api::operator== (resource_view lhs, resource_view rhs)
 
constexpr bool reshade::api::operator== (resource_view lhs, uint64_t rhs)
 
constexpr acceleration_structure_build_flags reshade::api::operator~ (acceleration_structure_build_flags a)
 
acceleration_structure_build_flags & reshade::api::operator&= (acceleration_structure_build_flags &a, acceleration_structure_build_flags b)
 
constexpr acceleration_structure_build_flags reshade::api::operator& (acceleration_structure_build_flags a, acceleration_structure_build_flags b)
 
acceleration_structure_build_flags & reshade::api::operator|= (acceleration_structure_build_flags &a, acceleration_structure_build_flags b)
 
constexpr acceleration_structure_build_flags reshade::api::operator| (acceleration_structure_build_flags a, acceleration_structure_build_flags b)
 
acceleration_structure_build_flags & reshade::api::operator^= (acceleration_structure_build_flags &a, acceleration_structure_build_flags b)
 
constexpr acceleration_structure_build_flags reshade::api::operator^ (acceleration_structure_build_flags a, acceleration_structure_build_flags b)
 
constexpr bool reshade::api::operator== (acceleration_structure_build_flags lhs, uint32_t rhs)
 
constexpr bool reshade::api::operator!= (acceleration_structure_build_flags lhs, uint32_t rhs)
 
constexpr acceleration_structure_build_input_flags reshade::api::operator~ (acceleration_structure_build_input_flags a)
 
acceleration_structure_build_input_flags & reshade::api::operator&= (acceleration_structure_build_input_flags &a, acceleration_structure_build_input_flags b)
 
constexpr acceleration_structure_build_input_flags reshade::api::operator& (acceleration_structure_build_input_flags a, acceleration_structure_build_input_flags b)
 
acceleration_structure_build_input_flags & reshade::api::operator|= (acceleration_structure_build_input_flags &a, acceleration_structure_build_input_flags b)
 
constexpr acceleration_structure_build_input_flags reshade::api::operator| (acceleration_structure_build_input_flags a, acceleration_structure_build_input_flags b)
 
acceleration_structure_build_input_flags & reshade::api::operator^= (acceleration_structure_build_input_flags &a, acceleration_structure_build_input_flags b)
 
constexpr acceleration_structure_build_input_flags reshade::api::operator^ (acceleration_structure_build_input_flags a, acceleration_structure_build_input_flags b)
 
constexpr bool reshade::api::operator== (acceleration_structure_build_input_flags lhs, uint32_t rhs)
 
constexpr bool reshade::api::operator!= (acceleration_structure_build_input_flags lhs, uint32_t rhs)
 

Macro Definition Documentation

◆ RESHADE_DEFINE_ENUM_FLAG_OPERATORS

#define RESHADE_DEFINE_ENUM_FLAG_OPERATORS (   type)

◆ RESHADE_DEFINE_HANDLE

#define RESHADE_DEFINE_HANDLE (   name)