emulator Opengl - number of supported vertex attributes
make the number of suppoted vertex attributes (by the codec) common across the encoder and the decoder. Change-Id: I699ef62821566cec0764982872adb92ebb8861e9
This commit is contained in:
committed by
David 'Digit' Turner
parent
e72ec4bfbd
commit
68367ae969
@@ -25,10 +25,8 @@ public:
|
|||||||
}
|
}
|
||||||
|
|
||||||
~FixedBuffer() {
|
~FixedBuffer() {
|
||||||
if (m_buffer != NULL) {
|
delete m_buffer;
|
||||||
delete m_buffer;
|
m_bufferLen = 0;
|
||||||
m_bufferLen = 0;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void * alloc(size_t size) {
|
void * alloc(size_t size) {
|
||||||
|
|||||||
@@ -30,6 +30,7 @@
|
|||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
#include <stdlib.h>
|
#include <stdlib.h>
|
||||||
#include "ErrorLog.h"
|
#include "ErrorLog.h"
|
||||||
|
#include "codec_defs.h"
|
||||||
|
|
||||||
class GLClientState {
|
class GLClientState {
|
||||||
public:
|
public:
|
||||||
@@ -70,7 +71,7 @@ public:
|
|||||||
} PixelStoreState;
|
} PixelStoreState;
|
||||||
|
|
||||||
public:
|
public:
|
||||||
GLClientState(int nLocations = 32);
|
GLClientState(int nLocations = CODEC_MAX_VERTEX_ATTRIBUTES);
|
||||||
~GLClientState();
|
~GLClientState();
|
||||||
int nLocations() { return m_nLocations; }
|
int nLocations() { return m_nLocations; }
|
||||||
const PixelStoreState *pixelStoreState() { return &m_pixelStore; }
|
const PixelStoreState *pixelStoreState() { return &m_pixelStore; }
|
||||||
|
|||||||
@@ -19,6 +19,7 @@
|
|||||||
#include <assert.h>
|
#include <assert.h>
|
||||||
#include <string.h>
|
#include <string.h>
|
||||||
#include "FixedBuffer.h"
|
#include "FixedBuffer.h"
|
||||||
|
#include "codec_defs.h"
|
||||||
|
|
||||||
class GLDecoderContextData {
|
class GLDecoderContextData {
|
||||||
public:
|
public:
|
||||||
@@ -40,18 +41,29 @@ public:
|
|||||||
LAST_LOCATION = 14
|
LAST_LOCATION = 14
|
||||||
} PointerDataLocation;
|
} PointerDataLocation;
|
||||||
|
|
||||||
void storePointerData(PointerDataLocation loc, void *data, size_t len) {
|
GLDecoderContextData(int nLocations = CODEC_MAX_VERTEX_ATTRIBUTES) :
|
||||||
assert(loc < LAST_LOCATION);
|
m_nLocations(nLocations)
|
||||||
|
{
|
||||||
|
m_pointerData = new FixedBuffer(m_nLocations);
|
||||||
|
}
|
||||||
|
|
||||||
|
~GLDecoderContextData() {
|
||||||
|
delete m_pointerData;
|
||||||
|
}
|
||||||
|
|
||||||
|
void storePointerData(PointerDataLocation loc, void *data, size_t len) {
|
||||||
|
|
||||||
|
assert(loc < m_nLocations);
|
||||||
m_pointerData[loc].alloc(len);
|
m_pointerData[loc].alloc(len);
|
||||||
memcpy(m_pointerData[loc].ptr(), data, len);
|
memcpy(m_pointerData[loc].ptr(), data, len);
|
||||||
}
|
}
|
||||||
void *pointerData(PointerDataLocation loc) {
|
void *pointerData(PointerDataLocation loc) {
|
||||||
assert(loc < LAST_LOCATION);
|
assert(loc < m_nLocations);
|
||||||
return m_pointerData[loc].ptr();
|
return m_pointerData[loc].ptr();
|
||||||
}
|
}
|
||||||
private:
|
private:
|
||||||
FixedBuffer m_pointerData[LAST_LOCATION];
|
FixedBuffer *m_pointerData;
|
||||||
|
int m_nLocations;
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|||||||
@@ -18,4 +18,6 @@
|
|||||||
|
|
||||||
#define CODEC_SERVER_PORT 22468
|
#define CODEC_SERVER_PORT 22468
|
||||||
|
|
||||||
|
#define CODEC_MAX_VERTEX_ATTRIBUTES 64
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|||||||
Reference in New Issue
Block a user