Changeset 294877 in webkit
- Timestamp:
- May 26, 2022, 7:00:35 AM (4 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/ThirdParty/ANGLE/src/libANGLE/renderer/metal/ContextMtl.mm
r294834 r294877 2217 2217 bool xfbPass) 2218 2218 { 2219 ANGLE_TRY(setupDrawImpl(context, mode, firstVertex, vertexOrIndexCount, instances, 2220 indexTypeOrNone, indices, xfbPass)); 2221 if (!mRenderEncoder.valid()) 2222 { 2223 // Flush occurred during setup, due to running out of memory while setting up the render 2224 // pass state. This would happen for example when there is no more space in the uniform 2225 // buffers in the uniform buffer pool. The rendering would be flushed to free the uniform 2226 // buffer memory for new usage. In this case, re-run the setup. 2227 ANGLE_TRY(setupDrawImpl(context, mode, firstVertex, vertexOrIndexCount, instances, 2228 indexTypeOrNone, indices, xfbPass)); 2229 // Setup with flushed state should either produce a working encoder or fail with an error 2230 // result. 2231 ASSERT(mRenderEncoder.valid()); 2232 } 2233 return angle::Result::Continue; 2234 } 2235 2236 angle::Result ContextMtl::setupDrawImpl(const gl::Context *context, 2237 gl::PrimitiveMode mode, 2238 GLint firstVertex, 2239 GLsizei vertexOrIndexCount, 2240 GLsizei instances, 2241 gl::DrawElementsType indexTypeOrNone, 2242 const void *indices, 2243 bool xfbPass) 2244 { 2219 2245 ASSERT(mProgram); 2220 2246
Note:
See TracChangeset
for help on using the changeset viewer.