Framebuffer and depthbuffer should also be passed into the canvas create-from-handle

This commit is contained in:
mcc 2018-10-27 23:11:11 -04:00
parent c68c850157
commit dba6724915
3 changed files with 6 additions and 4 deletions

View File

@ -24,7 +24,7 @@ typedef struct {
typedef struct Canvas Canvas;
Canvas* lovrCanvasCreate(int width, int height, CanvasFlags flags);
Canvas* lovrCanvasCreateFromHandle(int width, int height, CanvasFlags flags, uint32_t handle, int attachmentCount, bool immortal);
Canvas* lovrCanvasCreateFromHandle(int width, int height, CanvasFlags flags, uint32_t framebuffer, uint32_t depthBuffer, uint32_t resolveBuffer, int attachmentCount, bool immortal);
void lovrCanvasDestroy(void* ref);
const Attachment* lovrCanvasGetAttachments(Canvas* canvas, int* count);
void lovrCanvasSetAttachments(Canvas* canvas, Attachment* attachments, int count);

View File

@ -1233,11 +1233,13 @@ Canvas* lovrCanvasCreate(int width, int height, CanvasFlags flags) {
return canvas;
}
Canvas* lovrCanvasCreateFromHandle(int width, int height, CanvasFlags flags, uint32_t handle, int attachmentCount, bool immortal) {
Canvas* lovrCanvasCreateFromHandle(int width, int height, CanvasFlags flags, uint32_t framebuffer, uint32_t depthBuffer, uint32_t resolveBuffer, int attachmentCount, bool immortal) {
Canvas* canvas = lovrAlloc(Canvas, lovrCanvasDestroy);
if (!canvas) return NULL;
canvas->framebuffer = handle;
canvas->framebuffer = framebuffer;
canvas->depthBuffer = depthBuffer;
canvas->resolveBuffer = resolveBuffer;
canvas->attachmentCount = attachmentCount;
canvas->width = width;
canvas->height = height;

View File

@ -13,7 +13,7 @@ void lovrOculusMobileDraw(int framebuffer, int width, int height, float *eyeView
lovrGpuDirtyTexture();
CanvasFlags flags = {0};
Canvas *canvas = lovrCanvasCreateFromHandle(width, height, flags, framebuffer, 1, true);
Canvas *canvas = lovrCanvasCreateFromHandle(width, height, flags, framebuffer, 0, 0, 1, true);
Camera camera = { .canvas = canvas, .stereo = false };
memcpy(camera.viewMatrix[0], eyeViewMatrix, sizeof(camera.viewMatrix[0]));