Răsfoiți Sursa

Merge pull request #9916 from bruvzg/3.0-msaa-check

Add missing max. number of samples (MSAA) check
Rémi Verschelde 8 ani în urmă
părinte
comite
3ea3c2d4cb
1 a modificat fișierele cu 7 adăugiri și 0 ștergeri
  1. 7 0
      drivers/gles3/rasterizer_storage_gles3.cpp

+ 7 - 0
drivers/gles3/rasterizer_storage_gles3.cpp

@@ -5999,6 +5999,13 @@ void RasterizerStorageGLES3::_render_target_allocate(RenderTarget *rt) {
 		static const int msaa_value[] = { 0, 2, 4, 8, 16 };
 		static const int msaa_value[] = { 0, 2, 4, 8, 16 };
 		int msaa = msaa_value[rt->msaa];
 		int msaa = msaa_value[rt->msaa];
 
 
+		int max_samples = 0;
+		glGetIntegerv(GL_MAX_SAMPLES, &max_samples);
+		if (msaa > max_samples) {
+			WARN_PRINTS("MSAA must be <= GL_MAX_SAMPLES, falling-back to GL_MAX_SAMPLES = " + itos(max_samples));
+			msaa = max_samples;
+		}
+
 		//regular fbo
 		//regular fbo
 		glGenFramebuffers(1, &rt->buffers.fbo);
 		glGenFramebuffers(1, &rt->buffers.fbo);
 		glBindFramebuffer(GL_FRAMEBUFFER, rt->buffers.fbo);
 		glBindFramebuffer(GL_FRAMEBUFFER, rt->buffers.fbo);