summaryrefslogtreecommitdiff
path: root/src/mesa/drivers/dri/intel/intel_tex_image.c
AgeCommit message (Collapse)Author
2009-10-23intel: Keep track of x,y offsets in miptrees and use them for blitting.Eric Anholt
By just using offsets, we confused the hardware's tiling calculations, resulting in failures in miptree validation and blit clears. Fixes piglit fbo-clearmipmap. Bug #23552. (automatic mipmap generation)
2009-10-12intel: pass zslice to intel_miptree_image_offset()Brian Paul
This lets us get rid of intel_miptree_depth_offsets() and simplify all of the calling code.
2009-10-08intel: Use new drm_intel_bo_references() to avoid flushing.Eric Anholt
2009-10-05drivers: don't include texformat.hBrian Paul
And remove other unneeded #includes while we're at it.
2009-10-05mesa: lift _mesa_set_fetch_functions() calls out of driversBrian Paul
Call it from in the main Mesa glTexImage functions.
2009-10-01mesa: removed gl_texture_image::CompressedSize fieldBrian Paul
Just call ctx->Driver.CompressedTextureSize() when we need to get the compressed image size.
2009-10-01mesa: move mesa_set_fetch_functions()Brian Paul
2009-10-01mesa: remove gl_texture_image::IsCompressed fieldBrian Paul
Use _mesa_is_format_compressed() instead.
2009-09-30mesa: replace gl_texture_format with gl_formatBrian Paul
Now gl_texture_image::TexFormat is a simple MESA_FORMAT_x enum. ctx->Driver.ChooseTexture format also returns a MESA_FORMAT_x. gl_texture_format will go away next.
2009-09-28drivers: use new _mesa_texstore() functionBrian Paul
2009-09-27drivers: use more mesa format functionsBrian Paul
2009-09-27mesa/drivers: use _mesa_get_format_bytes()Brian Paul
2009-09-27mesa/drivers: use _mesa_get_format_bytes()Brian Paul
2009-09-27mesa: use _mesa_get_texstore_func()Brian Paul
2009-09-15mesa: move generate mipmap callsBrian Paul
Per the suggestion in the Intel driver, move the calls to ctx->Driver.GenerateMipmap() into core Mesa so that drivers don't have to worry about it.
2009-09-08intel: #include clean-upsBrian Paul
2009-09-08i965: use _mesa_is_bufferobj()Brian Paul
2009-06-23i965: Fix depth-texture Y-tiling detection for sized internal formats.Eric Anholt
Fixes assertion failure on norsetto shadow mapping demo.
2009-06-23intel: Avoid trying to do blits to Y tiled regions.Eric Anholt
This is somewhat nasty, but we need to do Y-tiled depth for FBO support. May help with corruption and hangs since enabling texture tiling, and since switching depth textures to Y tiled. Fixes piglit depthtex.c on 965.
2009-06-22intel: Fix glReadPixels regression since changing context init order.Michel Dänzer
Fixes regression in dd26899ca39111e0866afed9df94bfb1618dd363 that also affected some PBO operations.
2009-06-09i965: added intelFlush() call in intel_get_tex_image()Brian Paul
Fixes the render-to-texture test in progs/tests/getteximage.c
2009-06-09intel: use GLboolean, not int, for compressed parameterBrian Paul
2009-06-09intel: make a bunch of glTexImage-related functions staticBrian Paul
2009-06-09intel: whitespace clean-upsBrian Paul
2009-05-15intel: Don't complain on falling back from PBO fastpaths.Eric Anholt
Instead, stash the debug info under the handy debug flag. Bug #20053
2009-05-08intel: Add a metaops version of glGenerateMipmapEXT/SGIS_generate_mipmaps.Eric Anholt
In addition to being HW accelerated, it avoids the incorrect (black) rendering of the mipmaps that SW was doing in fbo-generatemipmap. Improves the performance of the mipmap generation and drawing in fbo-generatemipmap by 30%.
2009-04-16intel: fix small compressed texture uploadRoland Scheidegger
need to round up height for _mesa_copy_rect otherwise textures with height smaller than 4 won't get copied to the miptree at all Also fix up the confusing debug output (don't output unitialized values, and output if data is present and the compressed flag)
2009-04-15intel: Fix segfault when doing SW mipmap generation with a PBO texture upload.Eric Anholt
Triggered in test-fbo from clutter since 37fb2d9b23eab5dbbb43a212c3475cb8016837d8.
2009-04-03intel: #include texgetimage.hBrian Paul
2009-03-30intel: Avoid mapping the texture image for CopyTex{,Sub}ImageAdam Jackson
We don't upload the pixels with the CPU in that case, so the map will only serve as a way of triggering cache flushes over a bunch of data we don't touch.
2009-03-20Fix DRI2 accelerated EXT_texture_from_pixmap with GL_RGB format.Eric Anholt
This requires upgrading the interface so that the argument to glXBindTexImageEXT isn't just dropped on the floor. Note that this only fixes the accelerated path on Intel, as Mesa's texture format support is missing x8r8g8b8 support (right now, GL_RGB textures get uploaded as a8r8gb8, but in this case we're not doing the upload so we can't really work around it that way). Fixes bugs with compositors trying to use shaders that use alpha channels, on windows without a valid alpha channel. Bug #19910 and likely others as well. Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
2009-02-21intel: Fix intelSetTexBuffer miptree leak.Kristian Høgsberg
The intelImage also holds a reference to the miptree, so unref that as well.
2009-02-21intel: tell libdrm whether we want a cpu-ready or gpu-ready BO for regions.Eric Anholt
This lets us avoid allocing new buffers for renderbuffers, finalized miptrees, and PBO-uploaded textures when there's an unreferenced but still active one cached, while also avoiding CPU waits for batchbuffers and CPU-uploaded textures. The size of BOs allocated for a desktop running current GL cairogears on i915 is cut in half with this. Note that this means we require libdrm 2.4.5.
2009-01-26intel: asst. casts to silence warningsBrian Paul
2008-09-18mesa: added "main/" prefix to includes, remove some -I paths from ↵Brian Paul
Makefile.template
2008-09-12intel: Add a width field to regions, and use it for making miptrees in TFP.Eric Anholt
Otherwise, we would use the pitch as width of the texture, and compiz would render the pitch padding on the right hand side.
2008-09-12intel: Don't segfault on TFP from a bad drawable.Eric Anholt
2008-09-10intel: track move of bo_exec from drivers to bufmgr.Eric Anholt
2008-08-29DRI2: Drop sarea, implement swap buffers in the X server.Kristian Høgsberg
2008-08-24Revert "Revert "Merge branch 'drm-gem'""Dave Airlie
This reverts commit 7c81124d7c4a4d1da9f48cbf7e82ab1a3a970a7a.
2008-08-24Revert "Merge branch 'drm-gem'"Dave Airlie
This reverts commit 53675e5c05c0598b7ea206d5c27dbcae786a2c03. Conflicts: src/mesa/drivers/dri/i965/brw_wm_surface_state.c
2008-07-25Merge branch 'master' into drm-gemIan Romanick
Conflicts: src/mesa/drivers/dri/common/dri_bufmgr.c src/mesa/drivers/dri/i965/brw_wm_surface_state.c
2008-07-25intel: If a tex image doesn't fit in the object's tree, make a temporary tree.Eric Anholt
Previously, we would just store the data as malloced memory hanging off the object, which would get memcpyed in at validate time. This broke an oglconform render-to-texture test, since validate wasn't called but a miptree was expected.
2008-07-18intel: fix texture border issue. (bug #16697)Xiang, Haihao
2008-06-26intel: Replace sprinkled intel_batchbuffer_flush with MI_FLUSH or nothing.Eric Anholt
Most of these were to ensure that caches got synchronized between 2d (or meta) rendering and later use of the target as a source, such as for texture miptree setup. Those are replaced with intel_batchbuffer_emit_mi_flush(), which just drops an MI_FLUSH. Most of the remainder were to ensure that REFERENCES_CLIPRECTS batchbuffers got flushed before the lock was dropped. Those are now replaced by automatically flushing those when dropping the lock.
2008-05-09intel: use new mipmap generation hooks in driver.Dave Airlie
2008-04-21intel: fix an assertion failure. fix bug #15575Xiang, Haihao
2008-03-31DRI interface changes and DRI2 direct rendering support.Kristian Høgsberg
Add DRI2 direct rendering support to libGL and add DRI2 client side protocol code. Extend the GLX 1.3 create drawable functions in glx_pbuffer.c to call into the DRI driver when possible. Introduce __DRIconfig, opaque struct that represents a DRI driver configuration. Get's rid of the open coded __GLcontextModes in the DRI driver interface and the context modes create and destroy functions that the loader was requires to provide. glcore.h is no longer part of the DRI driver interface. The DRI config is GL binding agnostic, that is, not specific to GLX, EGL or other bindings. The core API is now also an extension, and the driver exports a list of extensions as the symbol __driDriverExtensions, which the loader must dlsym() for. The list of extension will always include the DRI core extension, which allows creating and manipulating DRI screens, drawables and contexts. The DRI legacy extension, when available, provides alternative entry points for creating the DRI objects that work with the XF86DRI infrastructure. Change DRI2 client code to not use drm drawables or contexts. We never used drm_drawable_t's and the only use for drm_context_t was as a unique identifier when taking the lock. We now just allocate a unique lock ID out of the DRILock sarea block. Once we get rid of the lock entirely, we can drop this hack. Change the interface between dri_util.c and the drivers, so that the drivers now export the DriverAPI struct as driDriverAPI instead of the InitScreen entry point. This lets us avoid dlsym()'ing for the DRI2 init screen function to see if DRI2 is supported by the driver.
2008-03-26[intel] Use mesa texmemory functions to allocate teximage Data.Michal Wajdeczko
Failure to consistently do so resulted in mismatched aligned versus unaligned alloc/free.
2008-03-17intel: It is needed to allocating texture memory to accommodateXiang, Haihao
a texture when calling TexImage with pixels set to NULL pointer.