created stub for metal gpu command buffer
Bug: skia: Change-Id: I11ffb1126ea4665c456c2b74e98d9e9021a5aca2 Reviewed-on: https://skia-review.googlesource.com/141080 Commit-Queue: Timothy Liang <timliang@google.com> Reviewed-by: Greg Daniel <egdaniel@google.com>
This commit is contained in:
parent
84364ee71d
commit
e70604ea8b
@ -628,6 +628,7 @@ skia_metal_sources = [
|
||||
"$_src/gpu/mtl/GrMtlCaps.mm",
|
||||
"$_src/gpu/mtl/GrMtlGpu.h",
|
||||
"$_src/gpu/mtl/GrMtlGpu.mm",
|
||||
"$_src/gpu/mtl/GrMtlGpuCommandBuffer.h",
|
||||
"$_src/gpu/mtl/GrMtlRenderTarget.mm",
|
||||
"$_src/gpu/mtl/GrMtlRenderTarget.h",
|
||||
"$_src/gpu/mtl/GrMtlTexture.mm",
|
||||
|
@ -65,13 +65,9 @@ public:
|
||||
GrGpuRTCommandBuffer* createCommandBuffer(
|
||||
GrRenderTarget*, GrSurfaceOrigin,
|
||||
const GrGpuRTCommandBuffer::LoadAndStoreInfo&,
|
||||
const GrGpuRTCommandBuffer::StencilLoadAndStoreInfo&) override {
|
||||
return nullptr;
|
||||
}
|
||||
const GrGpuRTCommandBuffer::StencilLoadAndStoreInfo&) override;
|
||||
|
||||
GrGpuTextureCommandBuffer* createCommandBuffer(GrTexture*, GrSurfaceOrigin) override {
|
||||
return nullptr;
|
||||
}
|
||||
GrGpuTextureCommandBuffer* createCommandBuffer(GrTexture*, GrSurfaceOrigin) override;
|
||||
|
||||
GrFence SK_WARN_UNUSED_RESULT insertFence() override { return 0; }
|
||||
bool waitFence(GrFence, uint64_t) override { return true; }
|
||||
|
@ -7,6 +7,7 @@
|
||||
|
||||
#include "GrMtlGpu.h"
|
||||
|
||||
#include "GrMtlGpuCommandBuffer.h"
|
||||
#include "GrMtlTexture.h"
|
||||
#include "GrMtlTextureRenderTarget.h"
|
||||
#include "GrMtlUtil.h"
|
||||
@ -97,6 +98,18 @@ GrMtlGpu::GrMtlGpu(GrContext* context, const GrContextOptions& options,
|
||||
fCmdBuffer = [fQueue commandBuffer];
|
||||
}
|
||||
|
||||
GrGpuRTCommandBuffer* GrMtlGpu::createCommandBuffer(
|
||||
GrRenderTarget* renderTarget, GrSurfaceOrigin origin,
|
||||
const GrGpuRTCommandBuffer::LoadAndStoreInfo& colorInfo,
|
||||
const GrGpuRTCommandBuffer::StencilLoadAndStoreInfo& stencilInfo) {
|
||||
return new GrMtlGpuRTCommandBuffer(this, renderTarget, origin, colorInfo, stencilInfo);
|
||||
}
|
||||
|
||||
GrGpuTextureCommandBuffer* GrMtlGpu::createCommandBuffer(GrTexture* texture,
|
||||
GrSurfaceOrigin origin) {
|
||||
return new GrMtlGpuTextureCommandBuffer(this, texture, origin);
|
||||
}
|
||||
|
||||
void GrMtlGpu::submitCommandBuffer(SyncQueue sync) {
|
||||
SkASSERT(fCmdBuffer);
|
||||
[fCmdBuffer commit];
|
||||
|
93
src/gpu/mtl/GrMtlGpuCommandBuffer.h
Normal file
93
src/gpu/mtl/GrMtlGpuCommandBuffer.h
Normal file
@ -0,0 +1,93 @@
|
||||
/*
|
||||
* Copyright 2018 Google Inc.
|
||||
*
|
||||
* Use of this source code is governed by a BSD-style license that can be
|
||||
* found in the LICENSE file.
|
||||
*/
|
||||
|
||||
#ifndef GrMtlGpuCommandBuffer_DEFINED
|
||||
#define GrMtlGpuCommandBuffer_DEFINED
|
||||
|
||||
#include "GrGpuCommandBuffer.h"
|
||||
|
||||
class GrMtlGpu;
|
||||
class GrMtlRenderTarget;
|
||||
|
||||
class GrMtlGpuTextureCommandBuffer : public GrGpuTextureCommandBuffer {
|
||||
public:
|
||||
GrMtlGpuTextureCommandBuffer(GrMtlGpu* gpu, GrTexture* texture, GrSurfaceOrigin origin)
|
||||
: INHERITED(texture, origin)
|
||||
, fGpu(gpu) {
|
||||
// Silence unused var warning
|
||||
(void)fGpu;
|
||||
}
|
||||
|
||||
~GrMtlGpuTextureCommandBuffer() override {}
|
||||
|
||||
void copy(GrSurface* src, GrSurfaceOrigin srcOrigin, const SkIRect& srcRect,
|
||||
const SkIPoint& dstPoint) override {}
|
||||
|
||||
void insertEventMarker(const char* msg) override {}
|
||||
|
||||
private:
|
||||
void submit() override {}
|
||||
|
||||
GrMtlGpu* fGpu;
|
||||
|
||||
typedef GrGpuTextureCommandBuffer INHERITED;
|
||||
};
|
||||
|
||||
class GrMtlGpuRTCommandBuffer : public GrGpuRTCommandBuffer {
|
||||
public:
|
||||
GrMtlGpuRTCommandBuffer(GrMtlGpu* gpu, GrRenderTarget* rt, GrSurfaceOrigin origin,
|
||||
const GrGpuRTCommandBuffer::LoadAndStoreInfo& colorInfo,
|
||||
const GrGpuRTCommandBuffer::StencilLoadAndStoreInfo& stencilInfo)
|
||||
: INHERITED(rt, origin)
|
||||
, fGpu(gpu)
|
||||
, fColorLoadAndStoreInfo(colorInfo)
|
||||
, fStencilLoadAndStoreInfo(stencilInfo) {
|
||||
// Silence unused var warning
|
||||
(void)fColorLoadAndStoreInfo;
|
||||
(void)fStencilLoadAndStoreInfo;
|
||||
}
|
||||
|
||||
~GrMtlGpuRTCommandBuffer() override {}
|
||||
|
||||
void begin() override {}
|
||||
void end() override {}
|
||||
|
||||
void discard() override {}
|
||||
|
||||
void insertEventMarker(const char* msg) override {}
|
||||
|
||||
void inlineUpload(GrOpFlushState* state, GrDeferredTextureUploadFn& upload) override {}
|
||||
|
||||
void copy(GrSurface* src, GrSurfaceOrigin srcOrigin, const SkIRect& srcRect,
|
||||
const SkIPoint& dstPoint) override {}
|
||||
|
||||
void submit() override {}
|
||||
|
||||
private:
|
||||
GrGpu* gpu() override { return fGpu; }
|
||||
|
||||
void onDraw(const GrPrimitiveProcessor& primProc,
|
||||
const GrPipeline& pipeline,
|
||||
const GrPipeline::FixedDynamicState* fixedDynamicState,
|
||||
const GrPipeline::DynamicStateArrays* dynamicStateArrays,
|
||||
const GrMesh mesh[],
|
||||
int meshCount,
|
||||
const SkRect& bounds) override {}
|
||||
|
||||
void onClear(const GrFixedClip& clip, GrColor color) override {}
|
||||
|
||||
void onClearStencilClip(const GrFixedClip& clip, bool insideStencilMask) override {}
|
||||
|
||||
GrMtlGpu* fGpu;
|
||||
GrGpuRTCommandBuffer::LoadAndStoreInfo fColorLoadAndStoreInfo;
|
||||
GrGpuRTCommandBuffer::StencilLoadAndStoreInfo fStencilLoadAndStoreInfo;
|
||||
|
||||
typedef GrGpuRTCommandBuffer INHERITED;
|
||||
};
|
||||
|
||||
#endif
|
||||
|
Loading…
Reference in New Issue
Block a user