Cocoa Port:
- Store the HQnx LUTs on the heap instead of on the stack. Fixes app builds from the Xcode 3 project, where the default stack size is smaller than when using the latest Xcode. (Regression for r5087.) - Update Xcode 3 project so that builds actually work. (Regression from r5070.)
This commit is contained in:
parent
453baff89c
commit
a8ef76f07b
|
@ -1393,12 +1393,6 @@
|
|||
AB8C6CBE186A950C00E3EC64 /* Image_PassME.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = Image_PassME.png; path = images/Image_PassME.png; sourceTree = "<group>"; };
|
||||
AB8C6E56186CD07E00E3EC64 /* ForceFeedback.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = ForceFeedback.framework; path = System/Library/Frameworks/ForceFeedback.framework; sourceTree = SDKROOT; };
|
||||
AB8FFE491872032B00C10085 /* Image_PaddleController.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = Image_PaddleController.png; path = images/Image_PaddleController.png; sourceTree = "<group>"; };
|
||||
AB901BDF1420706B00348EEC /* Japanese */ = {isa = PBXFileReference; fileEncoding = 10; lastKnownFileType = text.plist.strings; lineEnding = 0; name = Japanese; path = translations/Japanese.lproj/Localizable.strings; sourceTree = "<group>"; };
|
||||
AB901BE01420706F00348EEC /* French */ = {isa = PBXFileReference; fileEncoding = 10; lastKnownFileType = text.plist.strings; lineEnding = 0; name = French; path = translations/French.lproj/Localizable.strings; sourceTree = "<group>"; };
|
||||
AB901BE11420707400348EEC /* Italian */ = {isa = PBXFileReference; fileEncoding = 10; lastKnownFileType = text.plist.strings; lineEnding = 0; name = Italian; path = translations/Italian.lproj/Localizable.strings; sourceTree = "<group>"; };
|
||||
AB901BE21420707800348EEC /* Chinese */ = {isa = PBXFileReference; fileEncoding = 10; lastKnownFileType = text.plist.strings; lineEnding = 0; name = Chinese; path = translations/Chinese.lproj/Localizable.strings; sourceTree = "<group>"; };
|
||||
AB901BE31420707D00348EEC /* Norwegian */ = {isa = PBXFileReference; fileEncoding = 10; lastKnownFileType = text.plist.strings; lineEnding = 0; name = Norwegian; path = translations/Norwegian.lproj/Localizable.strings; sourceTree = "<group>"; };
|
||||
AB901BE41420708200348EEC /* Romanian */ = {isa = PBXFileReference; fileEncoding = 10; lastKnownFileType = text.plist.strings; lineEnding = 0; name = Romanian; path = translations/Romanian.lproj/Localizable.strings; sourceTree = "<group>"; };
|
||||
AB97C553169646D1002AC11B /* Accelerate.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Accelerate.framework; path = System/Library/Frameworks/Accelerate.framework; sourceTree = SDKROOT; };
|
||||
AB9971CE134EDA0800531BA7 /* cocoa_globals.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = cocoa_globals.h; sourceTree = "<group>"; };
|
||||
ABA0356E169127BB00817C69 /* troubleshootingWindowDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = troubleshootingWindowDelegate.h; sourceTree = "<group>"; };
|
||||
|
@ -4064,12 +4058,6 @@
|
|||
isa = PBXVariantGroup;
|
||||
children = (
|
||||
AB00E89114205ECC00DE561F /* English */,
|
||||
AB901BE01420706F00348EEC /* French */,
|
||||
AB901BE11420707400348EEC /* Italian */,
|
||||
AB901BDF1420706B00348EEC /* Japanese */,
|
||||
AB901BE21420707800348EEC /* Chinese */,
|
||||
AB901BE31420707D00348EEC /* Norwegian */,
|
||||
AB901BE41420708200348EEC /* Romanian */,
|
||||
);
|
||||
name = Localizable.strings;
|
||||
sourceTree = "<group>";
|
||||
|
|
|
@ -3593,9 +3593,9 @@ typedef struct
|
|||
uint8_t w2;
|
||||
} LUTValues;
|
||||
|
||||
static LUTValues _LQ2xLUT[256*(2*2)*16];
|
||||
static LUTValues _HQ2xLUT[256*(2*2)*16];
|
||||
static LUTValues _HQ4xLUT[256*(4*4)*16];
|
||||
static LUTValues *_LQ2xLUT = NULL;
|
||||
static LUTValues *_HQ2xLUT = NULL;
|
||||
static LUTValues *_HQ4xLUT = NULL;
|
||||
|
||||
static const GLint filterVtxBuffer[8] = {-1, -1, 1, -1, 1, 1, -1, 1};
|
||||
static const GLubyte filterElementBuffer[6] = {0, 1, 2, 2, 3, 0};
|
||||
|
@ -3688,22 +3688,17 @@ void (*glBindVertexArrayDESMUME)(GLuint id) = &glBindVertexArray_LegacyAPPLE;
|
|||
void (*glDeleteVertexArraysDESMUME)(GLsizei n, const GLuint *ids) = &glDeleteVertexArrays_LegacyAPPLE;
|
||||
void (*glGenVertexArraysDESMUME)(GLsizei n, GLuint *ids) = &glGenVertexArrays_LegacyAPPLE;
|
||||
|
||||
// Turn off inlining for this function so that we don't get hit with extremely long compile times.
|
||||
static NOINLINE LUTValues PackLUTValues(uint8_t p0, uint8_t p1, uint8_t p2, uint8_t w0, uint8_t w1, uint8_t w2)
|
||||
{
|
||||
if (w1 == 0 && w2 == 0)
|
||||
{
|
||||
w0 = 255;
|
||||
}
|
||||
else
|
||||
static LUTValues PackLUTValues(const uint8_t p0, const uint8_t p1, const uint8_t p2, const uint8_t w0, const uint8_t w1, const uint8_t w2)
|
||||
{
|
||||
const uint8_t wR = 256 / (w0 + w1 + w2);
|
||||
w0 *= wR;
|
||||
w1 *= wR;
|
||||
w2 *= wR;
|
||||
}
|
||||
|
||||
return {p0*31, p1*31, p2*31, w0, w1, w2};
|
||||
return (LUTValues) {
|
||||
p0*31,
|
||||
p1*31,
|
||||
p2*31,
|
||||
(w1 == 0 && w2 == 0) ? 255 : w0*wR,
|
||||
w1*wR,
|
||||
w2*wR
|
||||
};
|
||||
}
|
||||
|
||||
static void InitHQnxLUTs()
|
||||
|
@ -3715,6 +3710,10 @@ static void InitHQnxLUTs()
|
|||
return;
|
||||
}
|
||||
|
||||
_LQ2xLUT = (LUTValues *)malloc(256*(2*2)*16 * sizeof(LUTValues));
|
||||
_HQ2xLUT = (LUTValues *)malloc(256*(2*2)*16 * sizeof(LUTValues));
|
||||
_HQ4xLUT = (LUTValues *)malloc(256*(4*4)*16 * sizeof(LUTValues));
|
||||
|
||||
#define MUR (compare & 0x01) // top-right
|
||||
#define MDR (compare & 0x02) // bottom-right
|
||||
#define MDL (compare & 0x04) // bottom-left
|
||||
|
@ -5425,8 +5424,8 @@ void OGLDisplayLayer::SetCPUPixelScalerOGL(const VideoFilterTypeID filterID)
|
|||
{
|
||||
bool needResizeTexture = false;
|
||||
const VideoFilterAttributes newFilterAttr = VideoFilter::GetAttributesByID(filterID);
|
||||
const size_t oldDstBufferWidth = this->_vfDual->GetDstWidth();
|
||||
const size_t oldDstBufferHeight = this->_vfDual->GetDstHeight();
|
||||
const GLsizei oldDstBufferWidth = this->_vfDual->GetDstWidth();
|
||||
const GLsizei oldDstBufferHeight = this->_vfDual->GetDstHeight();
|
||||
const GLsizei newDstBufferWidth = this->_vfDual->GetSrcWidth() * newFilterAttr.scaleMultiply / newFilterAttr.scaleDivide;
|
||||
const GLsizei newDstBufferHeight = this->_vfDual->GetSrcHeight() * newFilterAttr.scaleMultiply / newFilterAttr.scaleDivide;
|
||||
|
||||
|
|
Loading…
Reference in New Issue