All other methods
Typedefs
-
typedef intptr_t main_wnd_f(void*, unsigned, uintptr_t, intptr_t)
Functions
-
void d3derr_in_device_reset(const char *msg)
Variables
-
bool dagor_d3d_force_driver_reset
-
namespace d3d
Enums
-
enum [anonymous]
Values:
-
enumerator USAGE_TEXTURE
-
enumerator USAGE_DEPTH
-
enumerator USAGE_RTARGET
-
enumerator USAGE_AUTOGENMIPS
-
enumerator USAGE_FILTER
-
enumerator USAGE_BLEND
-
enumerator USAGE_VERTEXTEXTURE
-
enumerator USAGE_SRGBREAD
-
enumerator USAGE_SRGBWRITE
-
enumerator USAGE_SAMPLECMP
-
enumerator USAGE_PIXREADWRITE
-
enumerator USAGE_TILED
-
enumerator USAGE_UNORDERED
-
enumerator USAGE_UNORDERED_LOAD
Indicates the format supports unordered loads.
-
enumerator USAGE_TEXTURE
Functions
-
void update_window_mode()
-
bool init_driver()
initalizes 3d device driver
-
bool is_inited()
returns true when d3d API is inited
-
bool init_video(void *hinst, main_wnd_f*, const char *wcname, int ncmdshow, void *&mainwnd, void *renderwnd, void *hicon, const char *title, Driver3dInitCallback *cb)
start up, read cfg, create window, init 3d hard&soft, … if renderwnd!=NULL, mainwnd and renderwnd are used for rendering (when possible) on error, returns false on sucess, return true
-
void release_driver()
shutdown driver and release all resources
-
bool fill_interface_table(D3dInterfaceTable &d3dit)
fills function-pointers table for d3d API, or returns false if unsupported
-
void prepare_for_destroy()
notify driver before window destruction
-
void window_destroyed(void *hwnd)
notify driver on window destruction
-
BeforeWindowDestroyedCookie *register_before_window_destroyed_callback(eastl::function<void()> callback)
-
void unregister_before_window_destroyed_callback(BeforeWindowDestroyedCookie *cookie)
-
bool device_lost(bool *can_reset_now)
returns true when device is lost; when it is safe to reset device can_reset_now is set with 1 returns false when device is ok
-
bool reset_device()
performs device reset; returns true if succeded
-
bool update_screen(bool app_active = true)
flip video pages or copy to screen app_active==false is hint to the driver returns false on error
-
void wait_for_async_present(bool force = false)
If the update_screen(bool) works asynchronously then under certain conditions it will block the execution until the previously called update_screen(bool) is finished.
- Parameters:
force – Even if the internal conditions don’t require the wait, the execution will wait for the present to finish
-
void gpu_latency_wait()
It blocks the execution until the GPU finishes on going render task for delaying the input sampling and using the most recent user inputs for rendering the next frame.
-
GPUFENCEHANDLE insert_fence(GpuPipeline gpu_pipeline)
-
void insert_wait_on_fence(GPUFENCEHANDLE &fence, GpuPipeline gpu_pipeline)
-
bool set_srgb_backbuffer_write(bool)
-
bool set_msaa_pass()
-
bool set_depth_resolve()
-
bool setgamma(float)
-
float get_screen_aspect_ratio()
-
void change_screen_aspect_ratio(float ar)
-
void *fast_capture_screen(int &w, int &h, int &stride_bytes, int &format)
capture screen to buffer.fast, but not guaranteed many captures can be followed by only one end_fast_capture_screen()
-
void end_fast_capture_screen()
-
TexPixel32 *capture_screen(int &w, int &h, int &stride_bytes)
capture screen to TexPixel32 buffer slow, and not 100% guaranted returns NULL on error
-
void release_capture_buffer()
release buffer used to capture screen
-
int create_predicate()
conditional rendering. conditional rendering is used to skip rendering of triangles completelyon GPU. the only commands, that would be ignored, if survey fails are DIPs (all commands and states will still be executed), so it is better to use reports to completely skip object rendering max index is defined per platform surveying.
-
void free_predicate(int id)
-
bool begin_survey(int id)
-
void end_survey(int id)
-
void begin_conditional_render(int id)
-
void end_conditional_render(int id)
-
void beginEvent(const char*)
-
void endEvent()
-
bool get_vrr_supported()
-
bool get_vsync_enabled()
returns current state of VSYNC
-
bool enable_vsync(bool enable)
enables or disables strong VSYNC (flips only on VBLANK); returns true on success
-
void resource_barrier(ResourceBarrierDesc desc, GpuPipeline gpu_pipeline = GpuPipeline::GRAPHICS)
-
inline void resummarize_htile(BaseTexture*)
-
inline void set_esram_layout(const wchar_t*)
-
inline void unset_esram_layout()
-
inline void reset_esram_layout()
-
inline void prefetch_movable_textures()
-
inline void writeback_movable_textures()
Variables
-
static constexpr int RENDER_TO_WHOLE_ARRAY = 1023
-
enum [anonymous]