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

Go to the source code of this file.

Classes

struct  reshade::api::api_object
 The base class for objects provided by the ReShade API. More...
 
struct  reshade::api::device
 A logical render device, used for resource creation and global operations. More...
 
struct  reshade::api::device_object
 The base class for objects that are children to a logical render device. More...
 
struct  reshade::api::command_list
 A command list, used to enqueue render commands on the CPU, before later executing them in a command queue. More...
 
struct  reshade::api::command_queue
 A command queue, used to execute command lists on the GPU. More...
 
struct  reshade::api::swapchain_desc
 Describes a swap chain and its back buffer resources. More...
 
struct  reshade::api::swapchain
 A swap chain, used to present images to the screen. More...
 

Namespaces

 reshade
 
 reshade::api
 

Macros

#define RESHADE_DEFINE_INTERFACE(name)
 
#define RESHADE_DEFINE_INTERFACE_WITH_BASE(name, base)
 

Enumerations

enum class  reshade::api::device_api {
  reshade::api::d3d9 , reshade::api::d3d10 , reshade::api::d3d11 , reshade::api::d3d12 ,
  reshade::api::opengl , reshade::api::vulkan
}
 The underlying render API a device is using, as returned by device::get_api. More...
 
enum class  reshade::api::device_caps {
  reshade::api::compute_shader , reshade::api::geometry_shader , reshade::api::hull_and_domain_shader , reshade::api::logic_op ,
  reshade::api::dual_source_blend , reshade::api::independent_blend , reshade::api::fill_mode_non_solid , reshade::api::conservative_rasterization ,
  reshade::api::bind_render_targets_and_depth_stencil , reshade::api::multi_viewport , reshade::api::partial_push_constant_updates , reshade::api::partial_push_descriptor_updates ,
  reshade::api::draw_instanced , reshade::api::draw_or_dispatch_indirect , reshade::api::copy_buffer_region , reshade::api::copy_buffer_to_texture ,
  reshade::api::blit , reshade::api::resolve_region , reshade::api::copy_query_pool_results , reshade::api::sampler_compare ,
  reshade::api::sampler_anisotropic , reshade::api::sampler_with_resource_view , reshade::api::shared_resource , reshade::api::shared_resource_nt_handle
}
 The available features a device may support. More...
 
enum class  reshade::api::indirect_command { reshade::api::unknown , reshade::api::draw , reshade::api::draw_indexed , reshade::api::dispatch }
 The available indirect command types. More...
 
enum class  reshade::api::command_queue_type { reshade::api::graphics , reshade::api::compute , reshade::api::copy }
 A list of flags that represent the available command queue types, as returned by command_queue::get_type. More...
 

Functions

constexpr command_queue_type reshade::api::operator~ (command_queue_type a)
 
command_queue_type & reshade::api::operator&= (command_queue_type &a, command_queue_type b)
 
constexpr command_queue_type reshade::api::operator& (command_queue_type a, command_queue_type b)
 
command_queue_type & reshade::api::operator|= (command_queue_type &a, command_queue_type b)
 
constexpr command_queue_type reshade::api::operator| (command_queue_type a, command_queue_type b)
 
command_queue_type & reshade::api::operator^= (command_queue_type &a, command_queue_type b)
 
constexpr command_queue_type reshade::api::operator^ (command_queue_type a, command_queue_type b)
 
constexpr bool reshade::api::operator== (command_queue_type lhs, uint32_t rhs)
 
constexpr bool reshade::api::operator!= (command_queue_type lhs, uint32_t rhs)
 

Macro Definition Documentation

◆ RESHADE_DEFINE_INTERFACE

#define RESHADE_DEFINE_INTERFACE (   name)

◆ RESHADE_DEFINE_INTERFACE_WITH_BASE

#define RESHADE_DEFINE_INTERFACE_WITH_BASE (   name,
  base 
)