Make it work with latest vitaGL commit.

This commit is contained in:
Rinnegatamante
2021-02-14 11:45:50 +01:00
parent e3e5c7bbc6
commit 08c603497e
6 changed files with 23 additions and 53 deletions
+2 -2
View File
@@ -10,8 +10,8 @@ PREFIX = arm-vita-eabi
CC = $(PREFIX)-gcc
CXX = $(PREFIX)-g++
AR = $(PREFIX)-gcc-ar
CFLAGS = -g -Wl,-q,--no-enum-size-warning -fno-short-enums -fno-optimize-sibling-calls -O2 -ftree-vectorize -fsingle-precision-constant -mfloat-abi=hard -ffast-math \
-DPSP2 -DNDEBUG -DRW_GL3 -DLIBRW_GLAD
CFLAGS = -g -Wl,-q,--no-enum-size-warning -fno-short-enums -fno-optimize-sibling-calls -O3 -fsingle-precision-constant -mfloat-abi=hard -ffast-math \
-DPSP2 -DNDEBUG -DRW_GL3 -DLIBRW_GLAD -Dmemcpy_neon=sceClibMemcpy
CXXFLAGS = $(CFLAGS)
ASFLAGS = $(CFLAGS)
+10 -38
View File
@@ -415,10 +415,10 @@ void
bindFramebuffer(uint32 fbo)
{
//glBindFramebuffer(GL_FRAMEBUFFER, fbo);
if(currentFramebuffer != fbo){
glBindFramebuffer(GL_FRAMEBUFFER, fbo);
//if(currentFramebuffer != fbo){
// glBindFramebuffer(GL_FRAMEBUFFER, fbo);
currentFramebuffer = fbo;
}
//}
}
// TODO: support mipmaps
@@ -995,7 +995,7 @@ setFrameBuffer(Camera *cam)
assert(fbuf);
Gl3Raster *natfb = PLUGINOFFSET(Gl3Raster, fbuf, nativeRasterOffset);
Gl3Raster *natzb = PLUGINOFFSET(Gl3Raster, zbuf, nativeRasterOffset);
//Gl3Raster *natzb = PLUGINOFFSET(Gl3Raster, zbuf, nativeRasterOffset);
assert(fbuf->type == Raster::CAMERA || fbuf->type == Raster::CAMERATEXTURE);
// Have to make sure depth buffer is attached to FB's fbo
@@ -1103,9 +1103,7 @@ beginUpdate(Camera *cam)
}
setFrameBuffer(cam);
#ifndef MIAMI_SUPPORT
vglStartRendering();
#endif
ImIdx = (ImIdx + 1) % 2;
gVertexBufferIm2D = gVertexBufferIm2DPtr[ImIdx];
gVertexBufferIm3D = gVertexBufferIm3DPtr[ImIdx];
@@ -1136,31 +1134,12 @@ static
void
endUpdate(Camera *cam)
{
#ifndef MIAMI_SUPPORT
vglStopRendering();
#endif
}
void log2file(const char *format, ...) {
__gnuc_va_list arg;
int done;
va_start(arg, format);
char msg[512];
done = vsprintf(msg, format, arg);
va_end(arg);
int i;
sprintf(msg, "%s\n", msg);
FILE *log = fopen("ux0:/data/librw.log", "a+");
if (log != NULL) {
fwrite(msg, 1, strlen(msg), log);
fclose(log);
}
}
static void
clearCamera(Camera *cam, RGBA *col, uint32 mode)
{
RGBAf colf;
/*RGBAf colf;
int mask;
convColor(&colf, col);
@@ -1172,7 +1151,7 @@ clearCamera(Camera *cam, RGBA *col, uint32 mode)
mask |= GL_DEPTH_BUFFER_BIT;
glDepthMask(GL_TRUE);
glClear((GLbitfield)mask);
glDepthMask(rwStateCache.zwrite);
glDepthMask(rwStateCache.zwrite);*/
}
static void
@@ -1187,11 +1166,7 @@ showRaster(Raster *raster, uint32 flags)
else
vglWaitVblankStart(GL_FALSE);
#endif
//log2file("showRaster called");
#ifdef MIAMI_SUPPORT
vglStopRendering();
vglStartRendering();
#endif
vglSwapBuffers(GL_FALSE);
}
static bool32
@@ -1384,11 +1359,8 @@ openGLFW(EngineOpenParams *openparams)
#else
vglEnableRuntimeShaderCompiler(GL_FALSE);
#endif
vglInitExtended(0x10000, 960, 544, 0x100000, SCE_GXM_MULTISAMPLE_4X);
vglInitExtended(0, 960, 544, 0x100000, SCE_GXM_MULTISAMPLE_4X);
vglUseVram(GL_TRUE);
#ifdef MIAMI_SUPPORT
vglStartRendering();
#endif
makeVideoModeList();
return 1;
@@ -1457,7 +1429,7 @@ initOpenGL(void)
u_matColor = registerUniform("u_matColor");
u_surfProps = registerUniform("u_surfProps");
glClearColor(0.25, 0.25, 0.25, 1.0);
//glClearColor(0.25, 0.25, 0.25, 1.0);
byte whitepixel[4] = {0xFF, 0xFF, 0xFF, 0xFF};
+1 -1
View File
@@ -46,7 +46,7 @@ static AttribDesc im2dattribDesc[3] = {
static int primTypeMap[] = {
GL_POINTS, // invalid
GL_LINES,
GL_LINE_STRIP,
GL_LINES,//_STRIP,
GL_TRIANGLES,
GL_TRIANGLE_STRIP,
GL_TRIANGLE_FAN,
+5 -5
View File
@@ -140,10 +140,10 @@ rasterCreateCameraTexture(Raster *raster)
bindTexture(prev);
glGenFramebuffers(1, &natras->fbo);
/*glGenFramebuffers(1, &natras->fbo);
bindFramebuffer(natras->fbo);
glFramebufferTexture(GL_FRAMEBUFFER, GL_COLOR_ATTACHMENT0, natras->texid, 0);
bindFramebuffer(0);
bindFramebuffer(0);*/
natras->fboMate = nil;
return raster;
@@ -257,7 +257,7 @@ rasterCreate(Raster *raster)
}
}
#define ALIGN(x, a) (((x) + ((a)-1)) & ~((a)-1))
#define MEM_ALIGN(x, a) (((x) + ((a)-1)) & ~((a)-1))
uint8*
rasterLock(Raster *raster, int32 level, int32 lockMode)
@@ -282,7 +282,7 @@ rasterLock(Raster *raster, int32 level, int32 lockMode)
int y = 0;
uint8_t *p = (uint8_t*)vglGetTexDataPointer(GL_TEXTURE_2D);
#ifdef PSP2_NO_DXT_TEXTURES
uint32_t internal_stride = ALIGN(raster->width, 8) * natras->bpp;
uint32_t internal_stride = MEM_ALIGN(raster->width, 8) * natras->bpp;
while (y < raster->height) {
memcpy_neon(px, p, raster->stride);
p += internal_stride;
@@ -290,7 +290,7 @@ rasterLock(Raster *raster, int32 level, int32 lockMode)
}
#else
if (raster->width < 4 || raster->height < 4) {
uint32_t internal_stride = ALIGN(raster->width, 8) * natras->bpp;
uint32_t internal_stride = MEM_ALIGN(raster->width, 8) * natras->bpp;
while (y < raster->height) {
memcpy_neon(px, p, raster->stride);
p += internal_stride;
-2
View File
@@ -64,11 +64,9 @@ drawInst_GSemu(InstanceDataHeader *header, InstanceData *inst)
void
drawInst(InstanceDataHeader *header, InstanceData *inst)
{
#ifndef PSP2
if(rw::GetRenderState(rw::GSALPHATEST))
drawInst_GSemu(header, inst);
else
#endif
drawInst_simple(header, inst);
}
+5 -5
View File
@@ -76,7 +76,7 @@ transferMinSize(int32 psm, int32 flags, int32 *minw, int32 *minh)
}
}
#define ALIGN(x,a) ((x) + (a)-1 & ~((a)-1))
#define PS2ALIGN(x,a) ((x) + (a)-1 & ~((a)-1))
#define ALIGN16(x) ((x) + 0xF & ~0xF)
#define ALIGN64(x) ((x) + 0x3F & ~0x3F)
#define NSIZE(dim,pagedim) (((dim) + (pagedim)-1)/(pagedim))
@@ -1121,9 +1121,9 @@ rasterCreateTexture(Raster *raster)
}
// What happens here?
if(ras->paletteSize && paltrxpos == 0)
ras->dataSize = ALIGN(ras->pixelSize,128) + ALIGN(ras->paletteSize,64) + extrasize + 0x70;
ras->dataSize = PS2ALIGN(ras->pixelSize,128) + PS2ALIGN(ras->paletteSize,64) + extrasize + 0x70;
else
ras->dataSize = ALIGN(ras->paletteSize+ras->pixelSize,64) + extrasize + 0x70;
ras->dataSize = PS2ALIGN(ras->paletteSize+ras->pixelSize,64) + extrasize + 0x70;
uint8 *data = (uint8*)mallocalign(ras->dataSize, 0x40);
uint32 *xferchain = (uint32*)(data + 0x10);
assert(data);
@@ -1131,10 +1131,10 @@ rasterCreateTexture(Raster *raster)
Ps2Raster::PixelPtr *pp = (Ps2Raster::PixelPtr*)data;
pp->numTransfers = numTransfers;
pp->numTotalTransfers = numTransfers;
pp->pixels = (uint8*)ALIGN((uintptr)data + extrasize, 128);
pp->pixels = (uint8*)PS2ALIGN((uintptr)data + extrasize, 128);
raster->pixels = (uint8*)pp;
if(ras->paletteSize)
raster->palette = pp->pixels + ALIGN(ras->pixelSize, 128) + 0x50;
raster->palette = pp->pixels + PS2ALIGN(ras->pixelSize, 128) + 0x50;
uint32 *p = (uint32*)pp->pixels;
w = raster->width;
h = raster->height;