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 an 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. 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
}
 The available comparison types. 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
}
 The available filtering modes used 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
}
 Specifies behavior of sampling with texture coordinates outside 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 }
 The available 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
}
 The available memory heap types, which give a hint as to where to place the memory 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
}
 The available resource types. The type of a resource 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::structured , reshade::api::sparse_binding
}
 A list of flags that describe 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
}
 A list of flags that specify how a resource is to be 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
}
 The available resource view types. These identify 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 }
 The available acceleration structure types. More...
 
enum class  reshade::api::acceleration_structure_copy_mode { reshade::api::clone , reshade::api::compact , reshade::api::serialize , reshade::api::deserialize }
 The available acceleration structure copy modes. More...
 
enum class  reshade::api::acceleration_structure_build_mode { reshade::api::build , reshade::api::update }
 The available acceleration structure build modes. 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
}
 The available acceleration structure build flags. More...
 
enum class  reshade::api::acceleration_structure_build_input_type : uint32_t { reshade::api::triangles , reshade::api::aabbs , reshade::api::instances }
 The available acceleration structure build input types. 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 }
 The available acceleration structure build input flags. 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)