Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit a65fb113 authored by Alex Sakhartchouk's avatar Alex Sakhartchouk Committed by Android (Google) Code Review
Browse files

Merge "Removing GL calls from librs"

parents e7b57be1 20c9c92e
Loading
Loading
Loading
Loading
+34 −0
Original line number Diff line number Diff line
@@ -478,3 +478,37 @@ void rsdGLCheckError(const android::renderscript::Context *rsc,
    }

}

void rsdGLClearColor(const android::renderscript::Context *rsc,
                     float r, float g, float b, float a) {
    RSD_CALL_GL(glClearColor, r, g, b, a);
    RSD_CALL_GL(glClear, GL_COLOR_BUFFER_BIT);
}

void rsdGLClearDepth(const android::renderscript::Context *rsc, float v) {
    RSD_CALL_GL(glClearDepthf, v);
    RSD_CALL_GL(glClear, GL_DEPTH_BUFFER_BIT);
}

void rsdGLFinish(const android::renderscript::Context *rsc) {
    RSD_CALL_GL(glFinish);
}

void rsdGLDrawQuadTexCoords(const android::renderscript::Context *rsc,
                            float x1, float y1, float z1, float u1, float v1,
                            float x2, float y2, float z2, float u2, float v2,
                            float x3, float y3, float z3, float u3, float v3,
                            float x4, float y4, float z4, float u4, float v4) {

    float vtx[] = {x1,y1,z1, x2,y2,z2, x3,y3,z3, x4,y4,z4};
    const float tex[] = {u1,v1, u2,v2, u3,v3, u4,v4};

    RsdVertexArray::Attrib attribs[2];
    attribs[0].set(GL_FLOAT, 3, 12, false, (uint32_t)vtx, "ATTRIB_position");
    attribs[1].set(GL_FLOAT, 2, 8, false, (uint32_t)tex, "ATTRIB_texture0");

    RsdVertexArray va(attribs, 2);
    va.setup(rsc);

    RSD_CALL_GL(glDrawArrays, GL_TRIANGLE_FAN, 0, 4);
}
+9 −0
Original line number Diff line number Diff line
@@ -84,6 +84,15 @@ void rsdGLCheckError(const android::renderscript::Context *rsc,
                     const char *msg, bool isFatal = false);
void rsdGLSetPriority(const android::renderscript::Context *rsc,
                      int32_t priority);
void rsdGLClearColor(const android::renderscript::Context *rsc,
                     float r, float g, float b, float a);
void rsdGLClearDepth(const android::renderscript::Context *rsc, float v);
void rsdGLFinish(const android::renderscript::Context *rsc);
void rsdGLDrawQuadTexCoords(const android::renderscript::Context *rsc,
                            float x1, float y1, float z1, float u1, float v1,
                            float x2, float y2, float z2, float u2, float v2,
                            float x3, float y3, float z3, float u3, float v3,
                            float x4, float y4, float z4, float u4, float v4);

#endif
+5 −3
Original line number Diff line number Diff line
@@ -257,17 +257,19 @@ static void SC_Color(float r, float g, float b, float a) {

static void SC_Finish() {
    GET_TLS();
    rsrFinish(rsc, sc);
    rsdGLFinish(rsc);
}

static void SC_ClearColor(float r, float g, float b, float a) {
    GET_TLS();
    rsrClearColor(rsc, sc, r, g, b, a);
    rsrPrepareClear(rsc, sc);
    rsdGLClearColor(rsc, r, g, b, a);
}

static void SC_ClearDepth(float v) {
    GET_TLS();
    rsrClearDepth(rsc, sc, v);
    rsrPrepareClear(rsc, sc);
    rsdGLClearDepth(rsc, v);
}

static uint32_t SC_GetWidth() {
+1 −3
Original line number Diff line number Diff line
@@ -86,7 +86,6 @@ void rsrMeshComputeBoundingBox(Context *, Script *, Mesh *,


void rsrColor(Context *, Script *, float r, float g, float b, float a);
void rsrFinish(Context *, Script *);
void rsrAllocationSyncAll(Context *, Script *, Allocation *);

void rsrAllocationCopy1DRange(Context *, Allocation *dstAlloc,
@@ -103,8 +102,7 @@ void rsrAllocationCopy2DRange(Context *, Allocation *dstAlloc,
                              uint32_t srcXoff, uint32_t srcYoff,
                              uint32_t srcMip, uint32_t srcFace);

void rsrClearColor(Context *, Script *, float r, float g, float b, float a);
void rsrClearDepth(Context *, Script *, float v);
void rsrPrepareClear(Context *, Script *);
uint32_t rsrGetWidth(Context *, Script *);
uint32_t rsrGetHeight(Context *, Script *);
void rsrDrawTextAlloc(Context *, Script *, Allocation *, int x, int y);
+1 −17
Original line number Diff line number Diff line
@@ -269,25 +269,9 @@ void rsrColor(Context *rsc, Script *sc, float r, float g, float b, float a) {
    pf->setConstantColor(rsc, r, g, b, a);
}

void rsrFinish(Context *rsc, Script *sc) {
    RSD_CALL_GL(glFinish);
}


void rsrClearColor(Context *rsc, Script *sc, float r, float g, float b, float a) {
void rsrPrepareClear(Context *rsc, Script *sc) {
    rsc->mFBOCache.setup(rsc);
    rsc->setupProgramStore();

    RSD_CALL_GL(glClearColor, r, g, b, a);
    RSD_CALL_GL(glClear, GL_COLOR_BUFFER_BIT);
}

void rsrClearDepth(Context *rsc, Script *sc, float v) {
    rsc->mFBOCache.setup(rsc);
    rsc->setupProgramStore();

    RSD_CALL_GL(glClearDepthf, v);
    RSD_CALL_GL(glClear, GL_DEPTH_BUFFER_BIT);
}

uint32_t rsrGetWidth(Context *rsc, Script *sc) {