📄 intel_texmem.c
字号:
#include "texmem.h"#include "simple_list.h"#include "imports.h"#include "macros.h"#include "intel_tex.h"static GLuintdriLog2( GLuint n ){ GLuint log2; for ( log2 = 1 ; n > 1 ; log2++ ) { n >>= 1; } return log2;}static void calculate_heap_size( driTexHeap * heap, unsigned size, unsigned nr_regions, unsigned alignmentShift ){ unsigned l; l = driLog2( (size - 1) / nr_regions ); if ( l < alignmentShift ) { l = alignmentShift; } heap->logGranularity = l; heap->size = size & ~((1L << l) - 1);}GLboolean intel_driReinitTextureHeap( driTexHeap *heap, unsigned size ){ driTextureObject *t, *tmp; /* Kick out everything: */ foreach_s ( t, tmp, & heap->texture_objects ) { if ( t->tObj != NULL ) { driSwapOutTextureObject( t ); } else { driDestroyTextureObject( t ); } } /* Destroy the memory manager: */ mmDestroy( heap->memory_heap ); /* Recreate the memory manager: */ calculate_heap_size(heap, size, heap->nrRegions, heap->alignmentShift); heap->memory_heap = mmInit( 0, heap->size ); if ( heap->memory_heap == NULL ) { fprintf(stderr, "driReinitTextureHeap: couldn't recreate memory heap\n"); FREE( heap ); return GL_FALSE; } make_empty_list( & heap->texture_objects ); return GL_TRUE;}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -