aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* mapi/new: sort by slot numberEmil Velikov2019-01-241-0/+3
| | | | | Makes it easier to compare the newly generated header against the old one. Will be reverted after the transition.
* mapi/new: import mapi scripts from glvndEmil Velikov2019-01-242-0/+181
| | | | | | | | | | | | | | | | | | | | | | | Currently we have over 20 scripts that generate the libGL* dispatch and various other functionality. More importantly we're using local XML files instead of the Khronos provides one(s). Resulting in an increasing complexity of writing, maintaining and bugfixing. One fairly annoying bug is handling of statically exported symbols. Today, if we enable a GL extension for GLES1/2, we add a special tag to the xml. Thus the ES dispatch gets generated, but also since we have no separate notion of GL/ES1/ES2 static functions it also gets exported statically. This commit adds step one towards clearing and simplifying our setup. It imports the mapi generator from GLVND. 012fe39 ("Remove a couple of duplicate typedefs.") v2: use local genCommon.py Signed-off-by: Emil Velikov <[email protected]> Reviewed-by: Erik Faye-Lund <[email protected]>
* mapi: move genCommon.py to src/mapi/newEmil Velikov2019-01-246-6/+19
| | | | | | | | | | | The helper will also be used by the new Khronos gl.xml aware generator. v2: Move existing one, instead of duplicating it. v3: Correct genCommon.py references in meson [Erik] v4: Drop the file from the EGL EXTRA_DIST [Erik] Suggested-by: Kyle Brenneman <[email protected]> Signed-off-by: Emil Velikov <[email protected]>
* genCommon.py: Fix typo in _LIBRARY_FEATURE_NAMES.Emil Velikov2019-01-241-1/+1
| | | | | | | | Port glvnd commit 37fc6caa4b8 ("Fix typo in _LIBRARY_FEATURE_NAMES.") from Michal Srb. Signed-off-by: Emil Velikov <[email protected]> Reviewed-by: Erik Faye-Lund <[email protected]>
* mapi: add all _glapi_table entrypoints to static_data.pyEmil Velikov2019-01-242-2/+1023
| | | | | | | | | | | | | | | | | | | | | | | Currently various parts of mesa use the glapi_table differently. Some use _glapi_get_proc_offset() to get the offset, while others directly reference the specific offset via _gloffset_Function. Add all static entries, to ensure things don't break as we flip to the upstream XML + new mapi generator. Note: the offsets are also used for the alias remap table, thus we need to ensure we honour the correct offsets range or it will break. Currently this is done via MAX_OFFSETS constant, although a better solution is in the works. v2: add FramebufferTexture2DMultisampleEXT v3: add MAX_OFFSETS guard Signed-off-by: Emil Velikov <[email protected]> Reviewed-by: Erik Faye-Lund <[email protected]> (v1) Signed-off-by: Emil Velikov <[email protected]>
* mapi: sort static entrypoints numericallyEmil Velikov2019-01-241-8/+8
| | | | | | | | A few of the entrypoints were incorrectly placed. Sort those to align with the rest of the list. Signed-off-by: Emil Velikov <[email protected]> Reviewed-by: Erik Faye-Lund <[email protected]>
* Revert "mesa/main: remove ARB suffix from glGetnTexImage"Emil Velikov2019-01-244-15/+6
| | | | | | | | | | | | | This reverts commit f1998e15ffccf260552bf559abe1a733a8ce990e. This changes the ABI, such that glGetnTexImageARB entry-point from the GLAPI gets removed. Thus accessing many functions by offset (as we do) will result in getting the wrong one. Follow-up work will swap the by-offset handling, but for now revert this patch. Acked-by: Erik Faye-Lund <[email protected]>
* mapi: drop unneeded gl_dispatch_stub declarationsErik Faye-Lund2019-01-241-1/+2
| | | | | | | | These declarations are not used anywhere - be that generated code or otherwise. [Emil: format the hunk from Erik into a patch] Signed-off-by: Emil Velikov <[email protected]>
* mesa: correctly use os.path.join in our python scriptsEmil Velikov2019-01-242-6/+5
| | | | | | | | | | | | With Windows in mind, using forward slash isn't the right thing to do. Even if it just works, we might want to fix it. As here, use __file__ instead of argv[0] and sys.path.insert over sys.path.append. With the path tweak being reportedly faster. Suggested-by: Dylan Baker <[email protected]> Signed-off-by: Emil Velikov <[email protected]> Reviewed-by: Erik Faye-Lund <[email protected]>
* freedreno: automake: ship ir3_nir_trig.py in the tarballEmil Velikov2019-01-241-0/+1
| | | | | Fixes: aa0fed10d35 ("freedreno: move ir3 to common location") Signed-off-by: Emil Velikov <[email protected]>
* egl/glvnd: sync egl.xml from KhronosEric Engestrom2019-01-241-18/+183
| | | | | | Fixes: 98984b7cdd79c15cc733 "egl: add glvnd entrypoints for EGL_MESA_query_driver" Signed-off-by: Eric Engestrom <[email protected]> Acked-by: Emil Velikov <[email protected]>
* travis: bump libdrm to 2.4.97Eric Engestrom2019-01-241-1/+1
| | | | | Fixes: c02f761bdfc87d0a1bfd "winsys/amdgpu: use the new BO list API" Signed-off-by: Eric Engestrom <[email protected]>
* egl: Implementation of egl dri2 drivers for MESA_query_driverVeluri Mithun2019-01-242-0/+38
| | | | | | | Signed-off-by: Veluri Mithun <[email protected]> Acked-by: Eric Engestrom <[email protected]> Reviewed-by: Emil Velikov <[email protected]>
* egl: add glvnd entrypoints for EGL_MESA_query_driverEric Engestrom2019-01-241-0/+4
| | | | | | Fixes: fbdd7bde29863935106c "egl: Implement EGL API for MESA_query_driver" Signed-off-by: Eric Engestrom <[email protected]> Reviewed-by: Emil Velikov <[email protected]>
* egl: Implement EGL API for MESA_query_driverVeluri Mithun2019-01-244-0/+38
| | | | | | | Signed-off-by: Veluri Mithun <[email protected]> Reviewed-by: Eric Engestrom <[email protected]> Reviewed-by: Emil Velikov <[email protected]>
* egl: update headers from KhronosEric Engestrom2019-01-242-8/+24
| | | | | | | | Cheating a tiny bit as these headers aren't in the Khronos repo yet, but I expect them to be within a couple days. Signed-off-by: Eric Engestrom <[email protected]> Reviewed-by: Emil Velikov <[email protected]>
* egl: finalize EGL_MESA_query_driverEric Engestrom2019-01-241-6/+11
| | | | | Signed-off-by: Eric Engestrom <[email protected]> Reviewed-by: Emil Velikov <[email protected]>
* intel/compiler: Reset default flag register in brw_find_live_channel()Matt Turner2019-01-231-2/+11
| | | | | | | | | | | | emit_uniformize() emits SHADER_OPCODE_FIND_LIVE_CHANNEL with its flag_subreg set, so that the IR knows which flag is accessed. However the flag is only used on Gen7 in Align1 mode. To avoid setting unnecessary bits in the instruction words, get the information we need and reset the default flag register. This allows round-tripping through the assembler/disassembler. Reviewed-by: Francisco Jerez <[email protected]>
* gallium: Add forgotten docs for PIPE_CAP_GLSL_TESS_LEVELS_AS_INPUTS.Kenneth Graunke2019-01-231-0/+1
| | | | Thanks to Ilia for catching this.
* Revert "Implement EGL API for MESA_query_driver"Mark Janes2019-01-234-38/+0
| | | | | | | | | This reverts commit ff621a505594a3217f24fb785c51f43580f1bf78. with default warnings configuration, this commit generates: ../src/egl/main/eglapi.c:2654:1: error: no previous prototype for ‘eglGetDisplayDriverConfig’ [-Werror=missing-prototypes]
* Revert "Implementation of egl dri2 drivers for MESA_query_driver"Mark Janes2019-01-232-38/+0
| | | | This reverts commit 2720f78ef231a5a19ea69731755ee4242acbc580.
* Implementation of egl dri2 drivers for MESA_query_driverVeluri Mithun2019-01-232-0/+38
| | | | | | Signed-off-by: Veluri Mithun <[email protected]> Reviewed-by: Emil Velikov <[email protected]>
* Implement EGL API for MESA_query_driverVeluri Mithun2019-01-234-0/+38
| | | | | | | | | Signed-off-by: Veluri Mithun <[email protected]> Reviewed-by: Eric Engestrom <[email protected]> Reviewed-by: Emil Velikov <[email protected]> Acked-by: Eric Engestrom <[email protected]>
* Add extension doc for MESA_query_driverVeluri Mithun2019-01-231-0/+90
| | | | | | | | | Signed-off-by: Veluri Mithun <[email protected]> Reviewed-by: Eric Engestrom <[email protected]> Reviewed-by: Emil Velikov <[email protected]> Acked-by: Eric Engestrom <[email protected]>
* nir: Length of boolean vtn_value now is 1Sergii Romantsov2019-01-231-3/+6
| | | | | | | | | | | | | | During conversion type-length was lost due to math. v2 (Jason Ekstrand): - Use a size/offset of 4 bytes Fixes: 44227453ec03 (nir: Switch to using 1-bit Booleans for almost everything) Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=109353 Signed-off-by: Sergii Romantsov <[email protected]> Tested-by: Alejandro Piñeiro <[email protected]> Reviewed-by: Alejandro Piñeiro <[email protected]> Reviewed-by: Jason Ekstrand <[email protected]>
* st/mesa: fix PRIMITIVES_GENERATED query after the "pipeline stat single" changesMarek Olšák2019-01-231-1/+2
| | | | | | | | | | | | When this functionality was added, the PRIMITIVES_GENERATED query was accidentally omitted. This causes issues for drivers that support transform feedback." Fixes: d644698b443 ("gallium: Add the ability to query a single pipeline statistics counter") Reviewed-by: Erik Faye-Lund <[email protected]> Reviewed-by: Kenneth Graunke <[email protected]>
* st/mesa: purge framebuffers when unbinding a contextMarek Olšák2019-01-231-0/+5
| | | | | | | This fixes pipe_surface "leaks". Cc: 18.3 <[email protected]> Acked-by: Timothy Arceri <[email protected]>
* docs: add note about sending merge-requests from forksErik Faye-Lund2019-01-231-0/+2
| | | | | | | | | | | | Sending MRs from the main Mesa repository increase clutter in the repository, and decrease visibility of project-wide branches. So it's better if MRs are sent from forks instead. Let's add a note about this, in case its not obvious to everyone. Signed-off-by: Erik Faye-Lund <[email protected]> Reviewed-by: Eric Engestrom <[email protected]> Reviewed-by: Emil Velikov <[email protected]>
* freedreno: set modifier when exporting bufferRob Clark2019-01-231-0/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fixes an assert we start hitting with kms/gbm: #0 0x0000007fbf3d6e3c in raise () from /lib64/libc.so.6 #1 0x0000007fbf3c4a68 in abort () from /lib64/libc.so.6 #2 0x0000007fbf3d04e8 in __assert_fail_base () from /lib64/libc.so.6 #3 0x0000007fbf3d0550 in __assert_fail () from /lib64/libc.so.6 #4 0x0000007fbf5a73c4 in gbm_dri_bo_create (gbm=0x5820f0, width=2160, height=1440, format=875713112, usage=0, modifiers=0x695e00, count=1) at ../src/gbm/backends/dri/gbm_dri.c:1150 #5 0x0000007fbf5a49c4 in gbm_bo_create_with_modifiers (gbm=0x5820f0, width=2160, height=1440, format=875713112, modifiers=0x695e00, count=1) at ../src/gbm/main/gbm.c:491 #6 0x0000007fbbac3d64 in get_back_bo (dri2_surf=0x6f4cc0) at ../src/egl/drivers/dri2/platform_drm.c:258 #7 0x0000007fbbac4318 in dri2_drm_image_get_buffers (driDrawable=0x704490, format=4098, stamp=0x6fc730, loaderPrivate=0x6f4cc0, buffer_mask=1, buffers=0x7fffffe210) at ../src/egl/drivers/dri2/platform_drm.c:409 #8 0x0000007fbf5a5318 in image_get_buffers (driDrawable=0x704490, format=4098, stamp=0x6fc730, loaderPrivate=0x70e150, buffer_mask=1, buffers=0x7fffffe210) at ../src/gbm/backends/dri/gbm_dri.c:135 #9 0x0000007fbe4308c4 in dri_image_drawable_get_buffers (drawable=0x6fc730, images=0x7fffffe210, statts=0x6f2660, statts_count=1) at ../src/gallium/state_trackers/dri/dri2.c:339 #10 0x0000007fbe430c44 in dri2_allocate_textures (ctx=0x614b30, drawable=0x6fc730, statts=0x6f2660, statts_count=1) at ../src/gallium/state_trackers/dri/dri2.c:466 #11 0x0000007fbe435580 in dri_st_framebuffer_validate (stctx=0x714160, stfbi=0x6fc730, statts=0x6f2660, count=1, out=0x7fffffe3b8) at ../src/gallium/state_trackers/dri/dri_drawable.c:85 #12 0x0000007fbe7b2c84 in st_framebuffer_validate (stfb=0x6f2190, st=0x714160) at ../src/mesa/state_tracker/st_manager.c:222 #13 0x0000007fbe7b4884 in st_api_make_current (stapi=0x7fbf0430d8 <st_gl_api>, stctxi=0x714160, stdrawi=0x6fc730, streadi=0x6fc730) at ../src/mesa/state_tracker/st_manager.c:1074 #14 0x0000007fbe434f44 in dri_make_current (cPriv=0x703c20, driDrawPriv=0x704490, driReadPriv=0x704490) at ../src/gallium/state_trackers/dri/dri_context.c:301 #15 0x0000007fbe42c910 in driBindContext (pcp=0x703c20, pdp=0x704490, prp=0x704490) at ../src/mesa/drivers/dri/common/dri_util.c:579 #16 0x0000007fbbabab40 in dri2_make_current (drv=0x69d170, disp=0x69c6e0, dsurf=0x6f4cc0, rsurf=0x6f4cc0, ctx=0x70cb40) at ../src/egl/drivers/dri2/egl_dri2.c:1456 #17 0x0000007fbbaa8ef4 in eglMakeCurrent (dpy=0x69c6e0, draw=0x6f4cc0, read=0x6f4cc0, ctx=0x70cb40) at ../src/egl/main/eglapi.c:862 #18 0x0000007fbf5736ac in InternalMakeCurrentVendor (dpy=dpy@entry=0x614fb0, draw=draw@entry=0x6f4cc0, read=read@entry=0x6f4cc0, context=context@entry=0x70cb40, apiState=apiState@entry=0x6fc940, vendor=0x6975f0) at libegl.c:861 #19 0x0000007fbf573764 in InternalMakeCurrentDispatch (dpy=0x614fb0, draw=0x6f4cc0, read=0x6f4cc0, context=0x70cb40, vendor=0x6975f0) at libegl.c:630 #20 0x0000000000403640 in init_egl (egl=0x5805a8 <gl>, gbm=0x580528 <gbm>, samples=0) at ../common.c:263 #21 0x0000000000403c1c in init_cube_smooth (gbm=0x580528 <gbm>, samples=0) at ../cube-smooth.c:225 #22 0x0000000000408618 in main (argc=1, argv=0x7fffffe8d8) at ../kmscube.c:145 Fixes: 1ce5d757d04 freedreno: core buffer modifier support Signed-off-by: Rob Clark <[email protected]>
* radv: always pass the GFX9 fence data to si_cs_emit_cache_flush()Samuel Pitoiset2019-01-232-16/+4
| | | | | | | Remove two useless checks. Signed-off-by: Samuel Pitoiset <[email protected]> Reviewed-by: Bas Nieuwenhuizen <[email protected]>
* radv: compute the GFX9 fence VA at allocation timeSamuel Pitoiset2019-01-233-9/+8
| | | | | | | Instead of doing every time we emit cache flushes. Signed-off-by: Samuel Pitoiset <[email protected]> Reviewed-by: Bas Nieuwenhuizen <[email protected]>
* radv: only allocate the GFX9 fence and EOP BOs for the gfx queueSamuel Pitoiset2019-01-231-1/+2
| | | | | | | | | | It's invalid to emit a ZPASS_DONE event on the compute queue, and the fence BO is unused on the compute queue (ie. we don't flush CB or DB caches). This saves some space in the upload BO. Signed-off-by: Samuel Pitoiset <[email protected]> Reviewed-by: Bas Nieuwenhuizen <[email protected]>
* radv: remove old_fence parameter from si_cs_emit_write_event_eop()Samuel Pitoiset2019-01-234-9/+7
| | | | | | | | This parameter is actually useless as the immediate value can always be zero. Signed-off-by: Samuel Pitoiset <[email protected]> Reviewed-by: Bas Nieuwenhuizen <[email protected]>
* radv: improve gathering of load_push_constants with dynamic bindingsSamuel Pitoiset2019-01-233-1/+7
| | | | | | | | | | | | For example, if a pipeline has two stages VS and FS. And if only the fragment stage needs dynamic bindings, we shouldn't allocate an extra user SGPR for the vertex stage. Of course, if the vertex stage loads constants, it needs an user SGPR. This should reduce the number of SET_SH_REG packets that are emitted. Signed-off-by: Samuel Pitoiset <[email protected]> Reviewed-by: Bas Nieuwenhuizen <[email protected]>
* gallium: Add PIPE_CAP_GLSL_TESS_LEVELS_AS_INPUTSCaio Marcelo de Oliveira Filho2019-01-233-0/+6
| | | | | | | | | | | | In the Intel backend, it makes the most sense to treat gl_TessLevelInner and gl_TessLevelOuter as ordinary shader inputs. For Radeon, it makes more sense to treat them as system values which get special handling. We already have a compiler option for this, but the Iris driver will need a capability bit so we can set it appropriately. Reviewed-by: Kenneth Graunke <[email protected]> Reviewed-by: Jordan Justen <[email protected]>
* nv50,nvc0: mark textures dirty on fb updateIlia Mirkin2019-01-222-2/+4
| | | | | | | | | | | | | | We may have to flush the cache if there are any textures presently bound that refer to the outgoing framebuffer. This is only checked at validation time. Fixes a number of dEQP-GLES3.functional.fbo.color.repeated_clear.sample.* tests, which would bind a texture, then clear it while the binding was in effect, and then render to a different texture. This seems legal under the "no feedback loops" rule. Signed-off-by: Ilia Mirkin <[email protected]> Reviewed-by: Karol Herbst <[email protected]>
* ac/nir_to_llvm: fix interpolateAt* for structsTimothy Arceri2019-01-231-12/+13
| | | | | | | This fixes the arb_gpu_shader5 interpolateAt* tests that contain structs. Acked-by: Marek Olšák <[email protected]>
* ac/nir_to_llvm: add bindless support for uniform handlesTimothy Arceri2019-01-231-0/+28
| | | | Reviewed-by: Marek Olšák <[email protected]>
* radeonsi/nir: add missing piece for bindless image supportTimothy Arceri2019-01-231-0/+6
| | | | | | This fixes some piglit tests and is was TGSI does. Reviewed-by: Marek Olšák <[email protected]>
* freedreno: core buffer modifier supportRob Clark2019-01-222-4/+84
| | | | | Split out of a patch from Fritz Koenig to decouple from a6xx UBWC enablement, and added fd_resource_create_with_modifiers().
* loader: fix the no-modifiers caseRob Clark2019-01-221-6/+14
| | | | | | | | | | | Normally modifiers take precendence over use flags, as they are more explicit. But if the driver supports modifiers, but the xserver does not, then we should fallback to the old mechanism of allocating a buffer using 'use' flags. Fixes: 069fdd5f9facbd72fb6a289696c7b74e3237e70f Signed-off-by: Rob Clark <[email protected]> Reviewed-by: Kristian H. Kristensen <[email protected]>
* freedreno: add query for dmabuf modifiersFritz Koenig2019-01-222-0/+46
|
* freedreno: drm_fourcc.h header includeFritz Koenig2019-01-223-1/+16
| | | | Add Qualcomm modifier for UBWC
* svga: add new gallium formats to the format conversion tableBrian Paul2019-01-221-0/+4
| | | | | | | | Fixes a static assertion which broke the build. Fixes: 3ee240890 "gallium: add SINT formats to have exact counterparts to SNORM formats" Reviewed-by: Marek Olšák <[email protected]> Reviewed-by: Neha Bhende<[email protected]>
* radeonsi: rename rfence -> sfenceMarek Olšák2019-01-221-49/+49
| | | | Reviewed-by: Bas Nieuwenhuizen <[email protected]>
* radeonsi: rename rbo, rbuffer to buf or bufferMarek Olšák2019-01-225-102/+102
| | | | Reviewed-by: Bas Nieuwenhuizen <[email protected]>
* radeonsi: rename rsrc -> ssrc, rdst -> sdstMarek Olšák2019-01-226-51/+51
| | | | Reviewed-by: Bas Nieuwenhuizen <[email protected]>
* radeonsi: rename rquery -> squeryMarek Olšák2019-01-223-68/+68
| | | | Reviewed-by: Bas Nieuwenhuizen <[email protected]>
* radeonsi: rename r600_resource -> si_resourceMarek Olšák2019-01-2229-230/+230
| | | | Reviewed-by: Bas Nieuwenhuizen <[email protected]>
* vulkan: make generated enum to strings helpers available from c++Lionel Landwerlin2019-01-221-0/+8
| | | | | Signed-off-by: Lionel Landwerlin <[email protected]> Reviewed-by: Caio Marcelo de Oliveira Filho <[email protected]>