37 static RGLDevicePtr CreateSystemDefaultDevice();
39 virtual std::string GetBrandString() = 0;
41 virtual RGLSwapchainPtr CreateSwapchain(RGLSurfacePtr, RGLCommandQueuePtr presentQueue,
int width,
int height) = 0;
46 virtual RGLShaderLibraryPtr CreateShaderLibraryFromName(
const std::string_view& name) = 0;
47 virtual RGLShaderLibraryPtr CreateDefaultShaderLibrary() = 0;
48 virtual RGLShaderLibraryPtr CreateShaderLibraryFromBytes(
const std::span<const uint8_t>) = 0;
49 virtual RGLShaderLibraryPtr CreateShaderLibrarySourceCode(
const std::string_view,
const FromSourceConfig& config) = 0;
50 virtual RGLShaderLibraryPtr CreateShaderLibraryFromPath(
const std::filesystem::path&) = 0;
52 virtual RGLBufferPtr CreateBuffer(
const BufferConfig&) = 0;
56 virtual RGLTexturePtr CreateTexture(
const TextureConfig&) = 0;
57 virtual RGLSamplerPtr CreateSampler(
const SamplerConfig&) = 0;
59 virtual RGLCommandQueuePtr CreateCommandQueue(QueueType type) = 0;
61 virtual TextureView GetGlobalBindlessTextureHeap()
const = 0;
65 virtual size_t GetTotalVRAM()
const = 0;
66 virtual size_t GetCurrentVRAMInUse()
const = 0;
70 virtual RGLFencePtr CreateFence(
bool preSignaled) = 0;
71 virtual void BlockUntilIdle() = 0;
Definition Texture.hpp:138
Definition Texture.hpp:162
Definition Texture.hpp:43