remove RenderSystem::nativeShaders

Should not be exposed publicly as it does not matter. Checking system quality is faster then set contains
This commit is contained in:
Moritz Zwerger 2023-11-28 00:03:11 +01:00
parent c18515ff57
commit dc575601a9
No known key found for this signature in database
GPG Key ID: 5CAD791931B09AC4
4 changed files with 3 additions and 7 deletions

View File

@ -41,7 +41,6 @@ import java.nio.FloatBuffer
class DummyRenderSystem( class DummyRenderSystem(
private val context: RenderContext, private val context: RenderContext,
) : RenderSystem { ) : RenderSystem {
override val nativeShaders: MutableSet<NativeShader> = mutableSetOf()
override val shaders: MutableSet<Shader> = mutableSetOf() override val shaders: MutableSet<Shader> = mutableSetOf()
override lateinit var vendor: GPUVendor override lateinit var vendor: GPUVendor
override var shader: NativeShader? = null override var shader: NativeShader? = null

View File

@ -33,7 +33,6 @@ import de.bixilon.minosoft.util.collections.floats.DirectArrayFloatList
import java.nio.FloatBuffer import java.nio.FloatBuffer
interface RenderSystem { interface RenderSystem {
val nativeShaders: MutableSet<NativeShader>
val shaders: MutableSet<Shader> val shaders: MutableSet<Shader>
val vendor: GPUVendor val vendor: GPUVendor
var shader: NativeShader? var shader: NativeShader?

View File

@ -17,6 +17,7 @@ import de.bixilon.kotlinglm.mat4x4.Mat4
import de.bixilon.kotlinglm.vec2.Vec2 import de.bixilon.kotlinglm.vec2.Vec2
import de.bixilon.kotlinglm.vec3.Vec3 import de.bixilon.kotlinglm.vec3.Vec3
import de.bixilon.kotlinglm.vec4.Vec4 import de.bixilon.kotlinglm.vec4.Vec4
import de.bixilon.kutil.cast.CastUtil.unsafeCast
import de.bixilon.minosoft.assets.util.InputStreamUtil.readAsString import de.bixilon.minosoft.assets.util.InputStreamUtil.readAsString
import de.bixilon.minosoft.data.registries.identified.ResourceLocation import de.bixilon.minosoft.data.registries.identified.ResourceLocation
import de.bixilon.minosoft.data.text.formatting.color.RGBColor import de.bixilon.minosoft.data.text.formatting.color.RGBColor
@ -37,6 +38,7 @@ class OpenGLNativeShader(
private val vertex: ResourceLocation, private val vertex: ResourceLocation,
private val geometry: ResourceLocation?, private val geometry: ResourceLocation?,
private val fragment: ResourceLocation, private val fragment: ResourceLocation,
val system: OpenGLRenderSystem = context.system.unsafeCast(),
) : NativeShader { ) : NativeShader {
override var loaded: Boolean = false override var loaded: Boolean = false
private set private set
@ -98,8 +100,6 @@ class OpenGLNativeShader(
glDeleteShader(program) glDeleteShader(program)
} }
loaded = true loaded = true
context.system.nativeShaders += this
} }
override fun unload() { override fun unload() {
@ -107,7 +107,6 @@ class OpenGLNativeShader(
glDeleteProgram(this.handler) glDeleteProgram(this.handler)
loaded = false loaded = false
this.handler = -1 this.handler = -1
context.system.nativeShaders -= this
} }
override fun reload() { override fun reload() {

View File

@ -50,7 +50,6 @@ class OpenGLRenderSystem(
private val context: RenderContext, private val context: RenderContext,
) : RenderSystem { ) : RenderSystem {
private var thread: Thread? = null private var thread: Thread? = null
override val nativeShaders: MutableSet<NativeShader> = mutableSetOf()
override val shaders: MutableSet<Shader> = mutableSetOf() override val shaders: MutableSet<Shader> = mutableSetOf()
private val capabilities: MutableSet<RenderingCapabilities> = RenderingCapabilities.set() private val capabilities: MutableSet<RenderingCapabilities> = RenderingCapabilities.set()
override lateinit var vendor: OpenGLVendor override lateinit var vendor: OpenGLVendor
@ -84,7 +83,7 @@ class OpenGLRenderSystem(
check(value is OpenGLNativeShader) { "Can not use non OpenGL shader in OpenGL render system!" } check(value is OpenGLNativeShader) { "Can not use non OpenGL shader in OpenGL render system!" }
check(value.loaded) { "Shader not loaded!" } check(value.loaded) { "Shader not loaded!" }
check(value in nativeShaders) { "Shader not part of this context!" } check(this === value.system) { "Shader not part of this context!" }
value.unsafeUse() value.unsafeUse()