Remove default arguments in GFX api
This commit is contained in:
parent
0265f1920e
commit
ea3049cb8a
4 changed files with 33 additions and 33 deletions
|
@ -46,9 +46,9 @@ public:
|
|||
|
||||
GFXSize get_alignment(GFXSize size) override;
|
||||
|
||||
GFXCommandBuffer* acquire_command_buffer(bool for_presentation_use = false) override;
|
||||
GFXCommandBuffer* acquire_command_buffer(bool for_presentation_use) override;
|
||||
|
||||
void submit(GFXCommandBuffer* command_buffer, platform::window_ptr window = nullptr) override;
|
||||
void submit(GFXCommandBuffer* command_buffer, platform::window_ptr window) override;
|
||||
|
||||
private:
|
||||
struct NativeMTLView {
|
||||
|
|
|
@ -169,7 +169,7 @@ bool GFXMetal::supports_feature(const GFXFeature feature) {
|
|||
}
|
||||
|
||||
void GFXMetal::initialize_view(void* native_handle, const platform::window_ptr identifier, const uint32_t, const uint32_t) {
|
||||
NativeMTLView* native = new NativeMTLView();
|
||||
auto native = new NativeMTLView();
|
||||
native->identifier = identifier;
|
||||
|
||||
native->format = (MTL::PixelFormat)platform::initialize_metal_layer(identifier, device);
|
||||
|
@ -184,7 +184,7 @@ void GFXMetal::remove_view(const platform::window_ptr identifier) {
|
|||
}
|
||||
|
||||
GFXBuffer* GFXMetal::create_buffer(void* data, const GFXSize size, const bool dynamicData, const GFXBufferUsage) {
|
||||
GFXMetalBuffer* buffer = new GFXMetalBuffer();
|
||||
auto buffer = new GFXMetalBuffer();
|
||||
buffer->dynamicData = dynamicData;
|
||||
|
||||
if(buffer->dynamicData) {
|
||||
|
@ -209,22 +209,22 @@ GFXBuffer* GFXMetal::create_buffer(void* data, const GFXSize size, const bool dy
|
|||
int currentFrameIndex = 0;
|
||||
|
||||
void GFXMetal::copy_buffer(GFXBuffer* buffer, void* data, const GFXSize offset, const GFXSize size) {
|
||||
GFXMetalBuffer* metalBuffer = (GFXMetalBuffer*)buffer;
|
||||
auto metalBuffer = (GFXMetalBuffer*)buffer;
|
||||
|
||||
const unsigned char * src = reinterpret_cast<const unsigned char*>(data);
|
||||
unsigned char * dest = reinterpret_cast<unsigned char *>(metalBuffer->get(currentFrameIndex)->contents());
|
||||
auto src = reinterpret_cast<const unsigned char*>(data);
|
||||
auto dest = reinterpret_cast<unsigned char *>(metalBuffer->get(currentFrameIndex)->contents());
|
||||
if(dest != nullptr)
|
||||
memcpy(dest + offset, src, size);
|
||||
}
|
||||
|
||||
void* GFXMetal::get_buffer_contents(GFXBuffer* buffer) {
|
||||
GFXMetalBuffer* metalBuffer = (GFXMetalBuffer*)buffer;
|
||||
auto metalBuffer = (GFXMetalBuffer*)buffer;
|
||||
|
||||
return reinterpret_cast<unsigned char *>(metalBuffer->get(currentFrameIndex)->contents());
|
||||
}
|
||||
|
||||
GFXTexture* GFXMetal::create_texture(const GFXTextureCreateInfo& info) {
|
||||
GFXMetalTexture* texture = new GFXMetalTexture();
|
||||
auto texture = new GFXMetalTexture();
|
||||
|
||||
MTL::TextureDescriptor* textureDescriptor = MTL::TextureDescriptor::alloc()->init();
|
||||
|
||||
|
@ -312,7 +312,7 @@ GFXTexture* GFXMetal::create_texture(const GFXTextureCreateInfo& info) {
|
|||
}
|
||||
|
||||
void GFXMetal::copy_texture(GFXTexture* texture, void* data, const GFXSize) {
|
||||
GFXMetalTexture* metalTexture = (GFXMetalTexture*)texture;
|
||||
auto metalTexture = (GFXMetalTexture*)texture;
|
||||
|
||||
MTL::Region region = {};
|
||||
region.size.width = texture->width;
|
||||
|
@ -329,8 +329,8 @@ void GFXMetal::copy_texture(GFXTexture* texture, void* data, const GFXSize) {
|
|||
}
|
||||
|
||||
void GFXMetal::copy_texture(GFXTexture* from, GFXTexture* to) {
|
||||
GFXMetalTexture* metalFromTexture = (GFXMetalTexture*)from;
|
||||
GFXMetalTexture* metalToTexture = (GFXMetalTexture*)to;
|
||||
auto metalFromTexture = (GFXMetalTexture*)from;
|
||||
auto metalToTexture = (GFXMetalTexture*)to;
|
||||
|
||||
MTL::CommandBuffer* commandBuffer = command_queue->commandBuffer();
|
||||
MTL::BlitCommandEncoder* commandEncoder = commandBuffer->blitCommandEncoder();
|
||||
|
@ -341,15 +341,15 @@ void GFXMetal::copy_texture(GFXTexture* from, GFXTexture* to) {
|
|||
}
|
||||
|
||||
void GFXMetal::copy_texture(GFXTexture* from, GFXBuffer* to) {
|
||||
GFXMetalTexture* metalFromTexture = (GFXMetalTexture*)from;
|
||||
GFXMetalBuffer* metalToBuffer = (GFXMetalBuffer*)to;
|
||||
auto metalFromTexture = (GFXMetalTexture*)from;
|
||||
auto metalToBuffer = (GFXMetalBuffer*)to;
|
||||
|
||||
MTL::Origin origin;
|
||||
MTL::Origin origin = {};
|
||||
origin.x = 0;
|
||||
origin.y = 0;
|
||||
origin.z = 0;
|
||||
|
||||
MTL::Size size;
|
||||
MTL::Size size = {};
|
||||
size.width = from->width;
|
||||
size.height = from->height;
|
||||
size.depth = 1;
|
||||
|
@ -367,7 +367,7 @@ void GFXMetal::copy_texture(GFXTexture* from, GFXBuffer* to) {
|
|||
}
|
||||
|
||||
GFXSampler* GFXMetal::create_sampler(const GFXSamplerCreateInfo& info) {
|
||||
GFXMetalSampler* sampler = new GFXMetalSampler();
|
||||
auto sampler = new GFXMetalSampler();
|
||||
|
||||
MTL::SamplerDescriptor* samplerDescriptor = MTL::SamplerDescriptor::alloc()->init();
|
||||
samplerDescriptor->setMinFilter(toFilter(info.min_filter));
|
||||
|
@ -390,7 +390,7 @@ GFXSampler* GFXMetal::create_sampler(const GFXSamplerCreateInfo& info) {
|
|||
}
|
||||
|
||||
GFXFramebuffer* GFXMetal::create_framebuffer(const GFXFramebufferCreateInfo& info) {
|
||||
GFXMetalFramebuffer* framebuffer = new GFXMetalFramebuffer();
|
||||
auto framebuffer = new GFXMetalFramebuffer();
|
||||
|
||||
for(auto& attachment : info.attachments)
|
||||
framebuffer->attachments.push_back((GFXMetalTexture*)attachment);
|
||||
|
@ -399,7 +399,7 @@ GFXFramebuffer* GFXMetal::create_framebuffer(const GFXFramebufferCreateInfo& inf
|
|||
}
|
||||
|
||||
GFXRenderPass* GFXMetal::create_render_pass(const GFXRenderPassCreateInfo& info) {
|
||||
GFXMetalRenderPass* renderPass = new GFXMetalRenderPass();
|
||||
auto renderPass = new GFXMetalRenderPass();
|
||||
|
||||
for(const auto& attachment : info.attachments)
|
||||
renderPass->attachments.push_back(toPixelFormat(attachment));
|
||||
|
@ -422,7 +422,7 @@ MTL::FunctionConstantValues* get_constant_values(GFXShaderConstants constants) {
|
|||
}
|
||||
|
||||
GFXPipeline* GFXMetal::create_graphics_pipeline(const GFXGraphicsPipelineCreateInfo& info) {
|
||||
GFXMetalPipeline* pipeline = new GFXMetalPipeline();
|
||||
auto pipeline = new GFXMetalPipeline();
|
||||
pipeline->label = info.label;
|
||||
|
||||
NS::Error* error = nullptr;
|
||||
|
@ -506,7 +506,7 @@ GFXPipeline* GFXMetal::create_graphics_pipeline(const GFXGraphicsPipelineCreateI
|
|||
inputDescriptor->setStepFunction(MTL::VertexStepFunctionPerVertex);
|
||||
inputDescriptor->setStepRate(1);
|
||||
|
||||
GFXMetalPipeline::VertexStride vs;
|
||||
GFXMetalPipeline::VertexStride vs = {};
|
||||
vs.location = input.location;
|
||||
vs.stride = input.stride;
|
||||
|
||||
|
@ -545,7 +545,7 @@ GFXPipeline* GFXMetal::create_graphics_pipeline(const GFXGraphicsPipelineCreateI
|
|||
pipelineDescriptor->setVertexDescriptor(descriptor);
|
||||
|
||||
if(info.render_pass != nullptr) {
|
||||
GFXMetalRenderPass* metalRenderPass = (GFXMetalRenderPass*)info.render_pass;
|
||||
auto metalRenderPass = (GFXMetalRenderPass*)info.render_pass;
|
||||
|
||||
unsigned int i = 0;
|
||||
for(const auto& attachment : metalRenderPass->attachments) {
|
||||
|
@ -636,7 +636,7 @@ GFXPipeline* GFXMetal::create_graphics_pipeline(const GFXGraphicsPipelineCreateI
|
|||
}
|
||||
|
||||
GFXPipeline* GFXMetal::create_compute_pipeline(const GFXComputePipelineCreateInfo& info) {
|
||||
GFXMetalPipeline* pipeline = new GFXMetalPipeline();
|
||||
auto pipeline = new GFXMetalPipeline();
|
||||
|
||||
NS::Error* error = nullptr;
|
||||
|
||||
|
@ -730,7 +730,7 @@ void GFXMetal::submit(GFXCommandBuffer* command_buffer, const platform::window_p
|
|||
GFXMetalBuffer* currentIndexBuffer = nullptr;
|
||||
IndexType currentIndextype = IndexType::UINT32;
|
||||
MTL::Viewport currentViewport = MTL::Viewport();
|
||||
MTL::ClearColor currentClearColor;
|
||||
MTL::ClearColor currentClearColor = {};
|
||||
|
||||
enum class CurrentEncoder {
|
||||
None,
|
||||
|
@ -990,8 +990,8 @@ void GFXMetal::submit(GFXCommandBuffer* command_buffer, const platform::window_p
|
|||
{
|
||||
needEncoder(CurrentEncoder::Blit);
|
||||
|
||||
GFXMetalTexture* metalFromTexture = (GFXMetalTexture*)command.data.copy_texture.src;
|
||||
GFXMetalTexture* metalToTexture = (GFXMetalTexture*)command.data.copy_texture.dst;
|
||||
auto metalFromTexture = (GFXMetalTexture*)command.data.copy_texture.src;
|
||||
auto metalToTexture = (GFXMetalTexture*)command.data.copy_texture.dst;
|
||||
if(metalFromTexture != nullptr && metalToTexture != nullptr) {
|
||||
const int slice_offset = command.data.copy_texture.to_slice + command.data.copy_texture.to_layer * 6;
|
||||
|
||||
|
@ -1009,7 +1009,7 @@ void GFXMetal::submit(GFXCommandBuffer* command_buffer, const platform::window_p
|
|||
break;
|
||||
case GFXCommandType::SetViewport:
|
||||
{
|
||||
MTL::Viewport viewport;
|
||||
MTL::Viewport viewport = {};
|
||||
viewport.originX = command.data.set_viewport.viewport.x;
|
||||
viewport.originY = command.data.set_viewport.viewport.y;
|
||||
viewport.width = command.data.set_viewport.viewport.width;
|
||||
|
@ -1027,7 +1027,7 @@ void GFXMetal::submit(GFXCommandBuffer* command_buffer, const platform::window_p
|
|||
{
|
||||
needEncoder(CurrentEncoder::Render);
|
||||
|
||||
MTL::ScissorRect rect;
|
||||
MTL::ScissorRect rect = {};
|
||||
rect.x = command.data.set_scissor.rect.offset.x;
|
||||
rect.y = command.data.set_scissor.rect.offset.y;
|
||||
rect.width = command.data.set_scissor.rect.extent.width;
|
||||
|
@ -1039,7 +1039,7 @@ void GFXMetal::submit(GFXCommandBuffer* command_buffer, const platform::window_p
|
|||
case GFXCommandType::GenerateMipmaps: {
|
||||
needEncoder(CurrentEncoder::Blit);
|
||||
|
||||
GFXMetalTexture* metalTexture = (GFXMetalTexture*)command.data.generate_mipmaps.texture;
|
||||
auto metalTexture = (GFXMetalTexture*)command.data.generate_mipmaps.texture;
|
||||
|
||||
blitEncoder->generateMipmaps(metalTexture->handle);
|
||||
}
|
||||
|
|
|
@ -360,8 +360,8 @@ public:
|
|||
// misc operations
|
||||
virtual GFXSize get_alignment(const GFXSize size) { return size; }
|
||||
|
||||
virtual GFXCommandBuffer* acquire_command_buffer(bool for_presentation_use = false) { return nullptr; }
|
||||
virtual GFXCommandBuffer* acquire_command_buffer(bool for_presentation_use) { return nullptr; }
|
||||
|
||||
virtual void submit([[maybe_unused]] GFXCommandBuffer* command_buffer,
|
||||
[[maybe_unused]] const platform::window_ptr window = nullptr) {}
|
||||
[[maybe_unused]] const platform::window_ptr window) {}
|
||||
};
|
||||
|
|
|
@ -681,7 +681,7 @@ void renderer::generate_brdf() {
|
|||
brdf_framebuffer = gfx->create_framebuffer(framebufferInfo);
|
||||
|
||||
// render
|
||||
GFXCommandBuffer* command_buffer = gfx->acquire_command_buffer();
|
||||
GFXCommandBuffer* command_buffer = gfx->acquire_command_buffer(false);
|
||||
|
||||
GFXRenderPassBeginInfo beginInfo = {};
|
||||
beginInfo.render_pass = brdf_render_pass;
|
||||
|
@ -700,7 +700,7 @@ void renderer::generate_brdf() {
|
|||
|
||||
command_buffer->draw(0, 4, 0, 1);
|
||||
|
||||
gfx->submit(command_buffer);
|
||||
gfx->submit(command_buffer, nullptr);
|
||||
}
|
||||
|
||||
void renderer::create_histogram_resources() {
|
||||
|
|
Reference in a new issue