mirror of
https://github.com/shadowfacts/lwjgl2-arm64.git
synced 2026-04-07 23:44:06 +00:00
Reverted @CachedReference tracking removal.
This commit is contained in:
parent
4f332612f4
commit
1b6a2e866c
22 changed files with 51 additions and 48 deletions
|
|
@ -31,15 +31,20 @@
|
|||
*/
|
||||
package org.lwjgl.opengl;
|
||||
|
||||
import java.nio.Buffer;
|
||||
import java.util.Arrays;
|
||||
|
||||
import static org.lwjgl.opengl.GL11.*;
|
||||
import static org.lwjgl.opengl.GL13.*;
|
||||
import static org.lwjgl.opengl.GL20.*;
|
||||
|
||||
class BaseReferences {
|
||||
|
||||
int elementArrayBuffer;
|
||||
int arrayBuffer;
|
||||
//final Buffer[] glVertexAttribPointer_buffer;
|
||||
//final Buffer[] glTexCoordPointer_buffer;
|
||||
//int glClientActiveTexture;
|
||||
final Buffer[] glVertexAttribPointer_buffer;
|
||||
final Buffer[] glTexCoordPointer_buffer;
|
||||
int glClientActiveTexture;
|
||||
|
||||
int vertexArrayObject;
|
||||
|
||||
|
|
@ -49,31 +54,29 @@ class BaseReferences {
|
|||
int indirectBuffer;
|
||||
|
||||
BaseReferences(ContextCapabilities caps) {
|
||||
/*
|
||||
int max_vertex_attribs;
|
||||
if (caps.OpenGL20 || caps.GL_ARB_vertex_shader)
|
||||
if ( caps.OpenGL20 || caps.GL_ARB_vertex_shader )
|
||||
max_vertex_attribs = glGetInteger(GL_MAX_VERTEX_ATTRIBS);
|
||||
else
|
||||
max_vertex_attribs = 0;
|
||||
glVertexAttribPointer_buffer = new Buffer[max_vertex_attribs];
|
||||
glVertexAttribPointer_buffer = new Buffer[max_vertex_attribs];
|
||||
|
||||
int max_texture_units;
|
||||
if (caps.OpenGL20)
|
||||
if ( caps.OpenGL20 )
|
||||
max_texture_units = glGetInteger(GL_MAX_TEXTURE_IMAGE_UNITS);
|
||||
else if (caps.OpenGL13 || caps.GL_ARB_multitexture)
|
||||
else if ( caps.OpenGL13 || caps.GL_ARB_multitexture )
|
||||
max_texture_units = glGetInteger(GL_MAX_TEXTURE_UNITS);
|
||||
else
|
||||
max_texture_units = 1;
|
||||
glTexCoordPointer_buffer = new Buffer[max_texture_units];
|
||||
*/
|
||||
glTexCoordPointer_buffer = new Buffer[max_texture_units];
|
||||
}
|
||||
|
||||
void clear() {
|
||||
this.elementArrayBuffer = 0;
|
||||
this.arrayBuffer = 0;
|
||||
//this.glClientActiveTexture = 0;
|
||||
//Arrays.fill(glVertexAttribPointer_buffer, null);
|
||||
//Arrays.fill(glTexCoordPointer_buffer, null);
|
||||
this.glClientActiveTexture = 0;
|
||||
Arrays.fill(glVertexAttribPointer_buffer, null);
|
||||
Arrays.fill(glTexCoordPointer_buffer, null);
|
||||
|
||||
this.vertexArrayObject = 0;
|
||||
|
||||
|
|
@ -87,9 +90,9 @@ class BaseReferences {
|
|||
if ( (mask & GL_CLIENT_VERTEX_ARRAY_BIT) != 0 ) {
|
||||
this.elementArrayBuffer = references.elementArrayBuffer;
|
||||
this.arrayBuffer = references.arrayBuffer;
|
||||
//this.glClientActiveTexture = references.glClientActiveTexture;
|
||||
//System.arraycopy(references.glVertexAttribPointer_buffer, 0, glVertexAttribPointer_buffer, 0, glVertexAttribPointer_buffer.length);
|
||||
//System.arraycopy(references.glTexCoordPointer_buffer, 0, glTexCoordPointer_buffer, 0, glTexCoordPointer_buffer.length);
|
||||
this.glClientActiveTexture = references.glClientActiveTexture;
|
||||
System.arraycopy(references.glVertexAttribPointer_buffer, 0, glVertexAttribPointer_buffer, 0, glVertexAttribPointer_buffer.length);
|
||||
System.arraycopy(references.glTexCoordPointer_buffer, 0, glTexCoordPointer_buffer, 0, glTexCoordPointer_buffer.length);
|
||||
|
||||
this.vertexArrayObject = references.vertexArrayObject;
|
||||
|
||||
|
|
|
|||
|
|
@ -34,10 +34,10 @@ package org.lwjgl.opengl;
|
|||
import static org.lwjgl.opengl.GL11.*;
|
||||
|
||||
class ReferencesStack {
|
||||
private BaseReferences[] references_stack;
|
||||
private References[] references_stack;
|
||||
private int stack_pos;
|
||||
|
||||
public BaseReferences getReferences() {
|
||||
public References getReferences() {
|
||||
return references_stack[stack_pos];
|
||||
}
|
||||
|
||||
|
|
@ -49,8 +49,8 @@ class ReferencesStack {
|
|||
references_stack[pos].copy(references_stack[pos - 1], GL_ALL_CLIENT_ATTRIB_BITS);
|
||||
}
|
||||
|
||||
public BaseReferences popState(int mask) {
|
||||
BaseReferences result = references_stack[stack_pos--];
|
||||
public References popState(int mask) {
|
||||
References result = references_stack[stack_pos--];
|
||||
|
||||
references_stack[stack_pos].copy(result, ~mask);
|
||||
result.clear();
|
||||
|
|
@ -59,17 +59,17 @@ class ReferencesStack {
|
|||
}
|
||||
|
||||
private void growStack() {
|
||||
BaseReferences[] new_references_stack = new BaseReferences[references_stack.length + 1];
|
||||
References[] new_references_stack = new References[references_stack.length + 1];
|
||||
System.arraycopy(references_stack, 0, new_references_stack, 0, references_stack.length);
|
||||
references_stack = new_references_stack;
|
||||
references_stack[references_stack.length - 1] = new BaseReferences(GLContext.getCapabilities());
|
||||
references_stack[references_stack.length - 1] = new References(GLContext.getCapabilities());
|
||||
}
|
||||
|
||||
ReferencesStack() {
|
||||
ContextCapabilities caps = GLContext.getCapabilities();
|
||||
references_stack = new BaseReferences[1];
|
||||
references_stack = new References[1];
|
||||
stack_pos = 0;
|
||||
for (int i = 0; i < references_stack.length; i++)
|
||||
references_stack[i] = new BaseReferences(caps);
|
||||
references_stack[i] = new References(caps);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -81,7 +81,7 @@ final class StateTracker {
|
|||
references_stack.pushState();
|
||||
}
|
||||
|
||||
static BaseReferences getReferences(ContextCapabilities caps) {
|
||||
static References getReferences(ContextCapabilities caps) {
|
||||
return caps.tracker.references_stack.getReferences();
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -596,7 +596,7 @@ public class JavaMethodsGenerator {
|
|||
cachedReference != null &&
|
||||
(mode != Mode.BUFFEROBJECT || param.getAnnotation(BufferObject.class) == null) &&
|
||||
param.getAnnotation(Result.class) == null) {
|
||||
writer.print("\t\tif ( LWJGLUtil.CHECKS ) " + Utils.CHECKS_CLASS_NAME + ".getReferences(caps).");
|
||||
writer.print("\t\tif ( LWJGLUtil.CHECKS ) " + "StateTracker.getReferences(caps).");
|
||||
if(cachedReference.name().length() > 0) {
|
||||
writer.print(cachedReference.name());
|
||||
} else {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue