| .. | .. |
|---|
| 1606 | 1606 | { |
|---|
| 1607 | 1607 | WRITE_ONCE(*addr, value); |
|---|
| 1608 | 1608 | } |
|---|
| 1609 | + |
|---|
| 1610 | +static inline bool vmw_shadertype_is_valid(enum vmw_sm_type shader_model, |
|---|
| 1611 | + u32 shader_type) |
|---|
| 1612 | +{ |
|---|
| 1613 | + SVGA3dShaderType max_allowed = SVGA3D_SHADERTYPE_PREDX_MAX; |
|---|
| 1614 | + |
|---|
| 1615 | + if (shader_model >= VMW_SM_5) |
|---|
| 1616 | + max_allowed = SVGA3D_SHADERTYPE_MAX; |
|---|
| 1617 | + else if (shader_model >= VMW_SM_4) |
|---|
| 1618 | + max_allowed = SVGA3D_SHADERTYPE_DX10_MAX; |
|---|
| 1619 | + return shader_type >= SVGA3D_SHADERTYPE_MIN && shader_type < max_allowed; |
|---|
| 1620 | +} |
|---|
| 1621 | + |
|---|
| 1609 | 1622 | #endif |
|---|