Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Four nondescript WebGL improvements #20598

Merged
merged 4 commits into from Apr 10, 2018
Merged
Changes from all commits
Commits
File filter...
Filter file types
Jump to…
Jump to file
Failed to load files.

Always

Just for now

@@ -151,6 +151,13 @@ impl<'a> WebGLValidator for CommonTexImage2DValidator<'a> {
}
};

// GL_INVALID_VALUE is generated if target is one of the six cube map 2D
// image targets and the width and height parameters are not equal.
if target.is_cubic() && self.width != self.height {
self.context.webgl_error(InvalidValue);
return Err(TexImageValidationError::InvalidCubicTextureDimensions);
}

// GL_INVALID_VALUE is generated if level is less than 0.
if self.level < 0 {
self.context.webgl_error(InvalidValue);
@@ -287,13 +294,6 @@ impl<'a> WebGLValidator for TexImage2DValidator<'a> {
border,
} = self.common_validator.validate()?;

// GL_INVALID_VALUE is generated if target is one of the six cube map 2D
// image targets and the width and height parameters are not equal.
if target.is_cubic() && width != height {
context.webgl_error(InvalidValue);
return Err(TexImageValidationError::InvalidCubicTextureDimensions);
}

// GL_INVALID_ENUM is generated if format or data_type is not an
// accepted value.
let data_type = match TexDataType::from_gl_constant(self.data_type) {
@@ -303,10 +303,11 @@ impl WebGLProgram {

// Check if the name is reserved
if name.starts_with("gl_") {
return Err(WebGLError::InvalidOperation);
return Ok(None);
}

if name.starts_with("webgl") || name.starts_with("_webgl_") {
// https://www.khronos.org/registry/webgl/specs/latest/1.0/#GLSL_CONSTRUCTS
if name.starts_with("webgl_") || name.starts_with("_webgl_") {
return Ok(None);
}

@@ -109,7 +109,7 @@ impl WebGLTexture {
let face_count = match target {
constants::TEXTURE_2D => 1,
constants::TEXTURE_CUBE_MAP => 6,
_ => return Err(WebGLError::InvalidOperation)
_ => return Err(WebGLError::InvalidEnum)
};
self.face_count.set(face_count);
self.target.set(Some(target));
ProTip! Use n and p to navigate between commits in a pull request.
You can’t perform that action at this time.