Make it work with latest vitaGL commit.
This commit is contained in:
@@ -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
@@ -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
@@ -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,
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
|
||||
|
||||
@@ -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;
|
||||
|
||||
Reference in New Issue
Block a user