Changeset View
Changeset View
Standalone View
Standalone View
source/renderer/backend/IDeviceCommandContext.h
Show All 39 Lines | |||||
class IDeviceCommandContext : public IDeviceObject<IDeviceCommandContext> | class IDeviceCommandContext : public IDeviceObject<IDeviceCommandContext> | ||||
{ | { | ||||
public: | public: | ||||
virtual void SetGraphicsPipelineState(const GraphicsPipelineStateDesc& pipelineStateDesc) = 0; | virtual void SetGraphicsPipelineState(const GraphicsPipelineStateDesc& pipelineStateDesc) = 0; | ||||
virtual void BlitFramebuffer( | virtual void BlitFramebuffer( | ||||
IFramebuffer* destinationFramebuffer, IFramebuffer* sourceFramebuffer) = 0; | IFramebuffer* destinationFramebuffer, IFramebuffer* sourceFramebuffer) = 0; | ||||
virtual void ClearFramebuffer() = 0; | /** | ||||
virtual void ClearFramebuffer(const bool color, const bool depth, const bool stencil) = 0; | * Starts a framebuffer pass, performs attachment load operations. | ||||
* It should be called as rarely as possible. | |||||
* | |||||
* @see IFramebuffer | |||||
*/ | |||||
virtual void BeginFramebufferPass(IFramebuffer* framebuffer) = 0; | virtual void BeginFramebufferPass(IFramebuffer* framebuffer) = 0; | ||||
/** | |||||
* Finishes a framebuffer pass, performs attachment store operations. | |||||
*/ | |||||
virtual void EndFramebufferPass() = 0; | virtual void EndFramebufferPass() = 0; | ||||
/** | |||||
* Clears all mentioned attachments. Prefer to use attachment load operations over | |||||
* this function. It should be called only inside a framebuffer pass. | |||||
*/ | |||||
virtual void ClearFramebuffer(const bool color, const bool depth, const bool stencil) = 0; | |||||
virtual void ReadbackFramebufferSync( | virtual void ReadbackFramebufferSync( | ||||
const uint32_t x, const uint32_t y, const uint32_t width, const uint32_t height, | const uint32_t x, const uint32_t y, const uint32_t width, const uint32_t height, | ||||
void* data) = 0; | void* data) = 0; | ||||
virtual void UploadTexture(ITexture* texture, const Format dataFormat, | virtual void UploadTexture(ITexture* texture, const Format dataFormat, | ||||
const void* data, const size_t dataSize, | const void* data, const size_t dataSize, | ||||
const uint32_t level = 0, const uint32_t layer = 0) = 0; | const uint32_t level = 0, const uint32_t layer = 0) = 0; | ||||
virtual void UploadTextureRegion(ITexture* texture, const Format dataFormat, | virtual void UploadTextureRegion(ITexture* texture, const Format dataFormat, | ||||
▲ Show 20 Lines • Show All 109 Lines • Show Last 20 Lines |
Wildfire Games · Phabricator